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就是这种) 胖客户端模式(最好用 ...
随机推荐
- php7安装redis拓展
phpredis下载地址https://github.com/phpredis/phpredis 解压并进入源码包 unzip phpredis-develop.zip cd phpredis-d ...
- kali linux 2.0配置更新源后apt-get update 报错
这个是我/etc/apt/sources.list的更新源: deb http://http.kali.org/kali kali-rolling main contrib non-free deb ...
- opencv学习之路(10)、ROI与mask掩码
一.ROI #include<opencv2/opencv.hpp> using namespace cv; void main(){ Mat img=imread("E://0 ...
- Oracle使用——oracle用户相关操作
前提 以dba角色登录数据库(普通用户没有操作权限):sqlplus / as sysdba 具体操作 创建用户 创建用户 使用默认表空间创建用户 create user xzgxh identifi ...
- Flask学习【第5篇】:用Falsk实现的分页
Flask实现的分页组件 from urllib.parse import urlencode,quote,unquote class Pagination(object): "" ...
- ubuntu18.04无法安装libesd0-dev【学习笔记】
执行如下命令安装: sudo apt-get install libesd0-dev 却报了这个错误: 解决办法: sudo vim /etc/apt/sources.list //在行尾添加如下两行 ...
- c# Database类的使用
参考资料http://ansonlh.iteye.com/blog/1689009 搜索:c# DatabaseFactory类
- 【译】第5节---Code First约定
原文:http://www.entityframeworktutorial.net/code-first/code-first-conventions.aspx 我们在上一节中已经看到了EF Code ...
- HDU 3401 Trade(斜率优化dp)
http://acm.hdu.edu.cn/showproblem.php?pid=3401 题意:有一个股市,现在有T天让你炒股,在第i天,买进股票的价格为APi,卖出股票的价格为BPi,同时最多买 ...
- nodejs的dependency.md
dependency和devDependency的区别 package-a --- package-b (dependency) --- | --- package-c (devDependency) ...