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就是这种) 胖客户端模式(最好用 ...
随机推荐
- centos6.5编译安装php7
1.安装依赖软件库: yum install -y libxml2-devel libtool* curl-devel libjpeg-devel libpng-devel freetype-deve ...
- 如何将你的github仓库部署到github pages(转)
原文地址:http://www.cnblogs.com/yuanzm/p/3945814.html#commentform 很多时候我都在思考一个问题,我们每天遇到各种各样的问题,然后我们需要不断go ...
- topcoder srm 475 div1
problem1 link 暴力枚举$r$只兔子的初始位置,然后模拟即可. problem2 link 假设刚生下来的兔子是1岁,那么能够生小兔子的兔子的年龄是至少3岁. 那么所有的兔子按照年龄可以分 ...
- topcoder srm 683 div1
problem1 link 肯定存在相邻两堆满足不会存在任何操作在这两堆之间进行.然后就成为一条链,那么只需要维护链的前缀和即可判断当前堆和前一堆之间需要多少次操作. problem2 link 对于 ...
- SpringBoot Redis使用fastjson进行序列化
在使用spring-data-redis,默认情况下是使用org.springframework.data.redis.serializer.JdkSerializationRedisSerializ ...
- LightOJ 1027 A Dangerous Maze(期望)题解
题意:n扇门,每扇门后都有一个值x,如果x<0会让你等待-x再重新回到这里选择门,x>0你经过x时间就会被传送走,问你被传送走的期望 思路:假设被传送走的期望为E,那么对于x<0来说 ...
- ThreadLocal 的机制与内存泄漏
ThreadLocal笔记 如上图所示 每个Thread 都有一个map,里面存着Entry<Key,value>,而key是实现了WeakReference的ThreadLocal,如果 ...
- [idea] - 项目启动报错Process finished with exit code 1
今天运行项目发现一个bug, "C:\Program Files\Java\jdk1.8.0_191\bin\java.exe" -XX:TieredStopAtLevel=1 - ...
- dynamic web module讲解
一.java的web系统有多种类型,比如静态的和动态的,然后动态的java web project要设置dynamic web module,也就是动态网页模型,他必须要和对应的服务器搭配好了才能跑, ...
- HDU 1512 Monkey King(左偏树模板题)
http://acm.hdu.edu.cn/showproblem.php?pid=1512 题意: 有n只猴子,每只猴子一开始有个力量值,并且互相不认识,现有每次有两只猴子要决斗,如果认识,就不打了 ...