随笔
程序结构:
void setup(){ //运行一次,用于任何初始化
size();//设置画布大小,必须是setup的第一行
}
void draw(){ //用于处理动画,重复运行
}
在Processing语言中,横向位置为X,纵向距离为Y,颜色填充为RGB设置(red, green, blue).
一些常用函数
setup()
draw()
mousePressed() //按下鼠标时调用
saveFrame() //保存图片
size()-设置画布尺寸
函数(功能)的作用是:设置全局变量宽度和高度。
(对于大小取决于屏幕的对象,始终使用宽度和高度变量而不是数字。这可以防止更改size()行时出现问题。)
size(400, 400);
//指定屏幕中间的错误方法
ellipse(200, 200, 50, 50);
// 始终位于中间,无论size()行如何更改
ellipse(width/2, height/2, 50, 50);
在前面的示例中,size()函数只为要创建的窗口指定了宽度和高度。size()函数的可选参数指定图形的呈现方式。渲染器处理如何为特定输出函数(无论是屏幕,还是由高端图形卡驱动的屏幕,或PDF文件)实现处理API。
默认的渲染器在处理高质量的二维矢量图形方面做得很好,但代价是速度。特别是,直接使用像素是很慢的。处理过程中还包括其他几个渲染器,每个渲染器都有一个唯一的函数。冒着过于深入了解细节的风险,下面将介绍处理过程中使用的其他可能的绘图模式。
size(400, 400, P2D);
P2D渲染器使用OpenGL快速渲染二维图形,同时使用Processing的简单图形api和Processing开发环境的简单应用程序导出。
size(400, 400, P3D);
P3D渲染器使用OpenGL进行快速渲染。它可以在空间中绘制三维对象和二维对象,也可以绘制照明、纹理和材质。
import processing.pdf.*;
size(400, 400, PDF, "output.pdf");
PDF渲染器将所有几何图形绘制到一个文件,而不是屏幕。要使用PDF,除了更改size()函数外,还必须从“草图”菜单中选择“导入库”,然后选择“PDF”。这是默认渲染器的堂兄弟,但直接写入PDF文件。
loadImage()\loadStrings()-加载和显示数据
处理API的一个独特方面是处理文件的方式。
loadImage()和loadStrings()函数都希望在名为data的文件夹中找到一个文件,该文件夹是sketch文件夹的子目录。
loadStrings()(将文本文件读入字符串对象数组)
loadImages()(将图像读入正在处理的图像数据容器PImage对象)
// 从程序目录文件夹中的data文件夹中,加载文本文件和JPEG图像的示例
String[] lines = loadStrings("something.txt");
PImage image = loadImage("picture.jpg");
若要将文件添加到处理草图的数据文件夹中
- 请使用“速写本→添加文件”菜单选项
- 或将文件拖动到PDE的编辑器窗口中。如果数据文件夹不存在,将自动创建它。
要查看“速写本”文件夹的内容,请使用“草图→打开程序目录”菜单选项。
一些常用技巧
Tweak模式
使用方法
使用前,需要将代码保存到本地。接着点击菜单栏中的“速记本-调整”。
这样程序就会在Tweak模式下运行,源代码中的drawing部分,带下划线的参数都是可以实时调控的。
函数用法查找
很多时候我们想了解Processing中某类函数的用法,可以选择菜单栏下的“帮助-参考文档”。根据分类,就可以迅速找到你想看的函数和对应的示例。
尽管呈现的方式是网页的形式,但实质是本地文件,无需联网。
除此之外,还有一个方法可以直接跳转到具体的函数说明,即选中函数并右键,选择“在参考文档中搜索”
显示和输入中文注释
可以在菜单栏的“文件-偏好设置”,在“编辑台和控制字体”中,选择一种支持中文显示的字体。同时点选“启用复杂文字输入”。
代码快速对齐
快捷键Ctrl+T,可以一键快速对齐代码。(mac上为command+T)
批量添加注释符
有一个快捷键可以批量添加注释符,快捷键Ctrl+/。若要取消注释,只要重新选中并重复这个快捷键。
引用静态文件
直接拖拽文件到IDE面板,会自动生成一个data目录。
遇见问题
1、第三方库的导入
使用到了cvimage库,这个库不是peocessing自带,需在网上自行下载安装(直接将文件夹放在libraries目录下并重启)。由于这个库与processing官方的opencv库冲突,因此需将之前的opencv for Processing删去。