Getting started with Processing 第七章总结
媒体
如何将文件导入 Processing 中
在 Processing 中,程序是通过应用 data 文件夹中的文件来显示的,这个文件夹可以通过菜单栏中的 Sketch>show sketch folder(command+K),来显示,可以通过两个办法添加文件:
- 打卡data文件夹,向其中添加文件
- 直接将文件拖拽到对话框的范围内
媒体的类型和导入的方式
图像
一张图像绘制到屏幕上需要四个步骤:
- 首先将图像添加到 data 文件夹中
- 然后创建 PImage 变量来存储图像
- 使用 loadimage()将图像夹在到变量,
- 最后用 image()函数加载图像
代码如下:
PImage img
void setup(){
size(480,120);
img=loadImage("lunar.jpg");
}
void draw(){
image(img,0,0,480,120);
}
image() 函数有五个参数,第一个参数是图像变量名,第二个和第三个用于确定图像的位置,第四个和第五个用于确定图像的长和宽。
Processing 支持三种类型的图像文件,它们分别是 png,gif 和 jpeg 格式。对于 png 和 gif 而言,它们都具有 alpha 通道,png 不仅仅能够将更多的颜色来设置透明度,而且透明度的通道深度为 8,而gif 的通道深度为1, png 的图像更加有层次感。
字体
加载字体的操作有6个步骤:
- 将字体添加到 data 文件夹中
- 创建一个 PFont 变量用于储存字体。
- 使用 createFont() 函数将字体读取给变量。
- 使用 textFont() 函数设置为当前字体。
- 用 text() 函数来进行显示文字。
代码如下:
Pfont font;
void setup(){
soze(480,120);
font = createFont(".....ttf",32);
textFont(font);
}
void draw(){
background(102);
textSize(32);
text("....",25,69,240,100);
}
可以通过 textSize() 函数来设置 text 的尺寸,text() 函数用于显示相应的内容,其中的第一个参数是显示的字符串,第二个和第三个用于控制其显示的位置,第四个和第五个可将文字显示在一个特定大小的文本框内。
这里需要注意的是,第三个和第四个参数是通过设置文本的基线左下角的位置来设置其位置的。
图形
用于将一个图形显示在屏幕上,需要四个步骤:
- 首先将 SVG 格式的图形文件储存在 data 文件夹中
- 创建一个 PShape 格式的变量
- 然后通过 loadShape() 函数将这个图形储存在这个变量中
- 最后,通过 shape() 函数来显示在屏幕上
代码如下:
PShape network;
void setup(){
size(480,120);
network=loadShape("...");
}
void draw(){
background(0);
shape(network,30,10,280,280);
}
这里的 shape() 函数第一个参数为形状的变量名,第二个和第三个参数为相应的位置,第四个和第五个参数用于设置相应的形状的大小。
createShape() 函数
同时,Processing 也支持将在 Processing 中所画的图形设置为一个 PShape 类型的变量。
代码为:
PShape dino;
void setup(){
dino=createShape();
然后后面是这个形状的参数
}
void shape(){
shape(dino,0,0,280,120);
}
Getting started with Processing 第七章总结的更多相关文章
- 《Entity Framework 6 Recipes》中文翻译系列 (38) ------ 第七章 使用对象服务之动态创建连接字符串和从数据库读取模型
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第七章 使用对象服务 本章篇幅适中,对真实应用中的常见问题提供了切实可行的解决方案. ...
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第七章:在Direct3D中绘制(二)
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第七章:在Direct3D中绘制(二) 代码工程地址: https:/ ...
- 精通Web Analytics 2.0 (9) 第七章:失败更快:爆发测试与实验的能量
精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第七章:失败更快:爆发测试与实验的能量 欢迎来到实验和测试这个棒极了的世界! 如果Web拥有一个超越所有其他渠道的巨大优势,它就 ...
- 《Entity Framework 6 Recipes》中文翻译系列 (41) ------ 第七章 使用对象服务之标识关系中使用依赖实体与异步查询保存
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 7-7 标识关系中使用依赖实体 问题 你想在标识关系中插入,更新和删除一个依赖实体 ...
- Java语言程序设计(基础篇) 第七章 一维数组
第七章 一维数组 7.2 数组的基础知识 1.一旦数组被创建,它的大小是固定的.使用一个数组引用变量,通过下标来访问数组中的元素. 2.数组是用来存储数据的集合,但是,通常我们会发现把数组看作一个存储 ...
- objective-c第七章课后练习2
题:改变第七章例子中print方法,增加bool参数,判断如果是YES则对分数进行约简 @interface Fraction : NSObject { //int num,den; } @prope ...
- 读《编写可维护的JavaScript》第七章总结
第七章 事件处理 7.1 典型用法 作者首先给了个我们一个处理事件的方法.看起来也没啥俩样,不过后来给出的优化方法很值得学习: // 不好的写法 function handleClick(even ...
- 第七章 LED将为我们闪烁:控制发光二极管
第七章 LED将为我们闪烁:控制发光二极管 本章我们将会看到一个完整的linux驱动程序,通过linux驱动程序控制LED的四个小灯,通俗的说就是通过向linux驱动程序来控制LED小灯的开关.用到 ...
- Getting Started With Hazelcast 读书笔记(第七章)
第七章 部署策略 Hazelcast具有适应性,能根据不同的架构和应用进行特定的部署配置,每个应用可以根据具体情况选择最优的配置: 数据与应用紧密结合的模式(重点,of就是这种) 胖客户端模式(最好用 ...
随机推荐
- jsxyhelu的GitHub使用方法
如果只是使用Clone不能称得上是完全使用了GitHub,必须完成PullRequest,而且最好是对大型.带自动构建项目进行PR(比如OpenCV),这样才叫完全掌握GitHub的使用方法,这里分享 ...
- django基础 -- 4. 模板语言 过滤器 模板继承 FBV 和CBV 装饰器 组件
一.语法 两种特殊符号(语法): {{ }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 二.变量 1. 可直接用 {{ 变量名 }} (可调用字符串, 数字 ,列表,字典,对象等) ...
- 在Linux系统安装Appium
安装sudo apt-get update sudo apt-get install nodejs sudo apt-get install npm npm install -g appium 卸载: ...
- for和while循环的区别
区别:for循环,就是遍历某一对象,通俗说就是根据循环次数限制做多少次重复操作.while循环,是当满足什么条件的时候,才做某种操作. for为遍历循环 while为直到循环
- 【做题】CF119D. String Transformation——KMP
题意:有两个字符串\(a,b\),下标从\(0\)开始.求数对\((i,j)\)满足\(a[i+1:j] + r(a[j:n]) + r(a[0:i+1]) = b\),其中\(r(s)\)表示字符串 ...
- 通过cmd调用Powershell脚本
一共需要3个文件,把这3个文件放在一个路径下 UTF8NoBOM.bat 这个文件是为了调用ps1 pwsh -file "%cd%\UTF8NoBOM.ps1" UTF8No ...
- Restructure output of R summary function
Treat it as a data.frame: set.seed(1)x <- sample(30, 100, TRUE) summary(x)# Min. 1st Qu. Medi ...
- sed 替换换行回车
A carriage return linefeed (CRLF) is a special sequence of characters, used by DOS/Windows, to signi ...
- oracle 之 创,增,删,改操作
--创建表 (包含其中的数据) create table TableName as select * from TableName --插入数据 insert into TableName(列,列.. ...
- 使用vue做表单验证
<template> <Form ref="formInline" :model="formInline" :rules="rule ...