Processing, createGraphics()
用法介绍。
用法
createGraphics(w, h)
createGraphics(w, h, renderer)
createGraphics(w, h, renderer, path)
参数
w
(int)
像素宽度h
(int)
像素高度renderer
(String)
P2D、P3D 或 PDFpath
(String)
文件名(可以是绝对路径或相对路径)
返回
PGraphics
说明
创建并返回一个新的 PGraphics
对象。如果您需要绘制到 off-screen 图形缓冲区,请使用此类。前两个参数以像素为单位定义宽度和高度。第三个可选参数指定渲染器。它可以定义为 P2D、P3D、PDF 或 SVG。如果不使用第三个参数,则设置默认渲染器。 PDF 和 SVG 渲染器需要文件名参数。
重要的是要考虑与 createGraphics()
一起使用的渲染器与 size()
中指定的主渲染器的关系。例如,只有在 size()
中定义了其中之一时,才能将 P2D 或 P3D 与 createGraphics()
一起使用。与 Processing 1.0 不同,P2D 和 P3D 使用 OpenGL 进行绘图,而当使用 OpenGL 渲染器时,主绘图表面必须基于 OpenGL。如果在 size()
中使用 P2D 或 P3D 作为渲染器,则任何选项都可以与 createGraphics()
一起使用。如果在 size()
中使用默认渲染器,则只有默认、PDF 或 SVG 可以与 createGraphics()
一起使用。
在 beginDraw()
和 endDraw()
之间运行所有绘图函数很重要。作为此规则的例外,smooth()
应该在 beginDraw()
之前在 PGraphics 对象上运行。有关更多详细信息,请参阅smooth()
的参考。
createGraphics()
函数几乎不应该在draw()
中使用,因为设置图形需要内存和时间。在 draw()
期间一次性或偶尔使用可能是可以接受的,但以每秒 60 帧的速度调用 createGraphics()
的代码可能会耗尽内存或冻结您的草图。
与完全不透明的主绘图表面不同,使用createGraphics()
创建的表面可以具有透明度。这使得绘制图形并保持 Alpha 通道成为可能。通过使用save()
编写PNG 或TGA 文件,将尊重图形对象的透明度。
例子
PGraphics pg;
void setup() {
size(200, 200);
pg = createGraphics(100, 100);
}
void draw() {
pg.beginDraw();
pg.background(102);
pg.stroke(255);
pg.line(pg.width*0.5, pg.height*0.5, mouseX, mouseY);
pg.endDraw();
image(pg, 50, 50);
}
相关用法
- Processing createFont()用法及代码示例
- Processing createImage()用法及代码示例
- Processing createShape()用法及代码示例
- Processing createInput()用法及代码示例
- Processing createReader()用法及代码示例
- Processing createWriter()用法及代码示例
- Processing case用法及代码示例
- Processing clip()用法及代码示例
- Processing camera()用法及代码示例
- Processing curveDetail()用法及代码示例
- Processing catch用法及代码示例
- Processing char()用法及代码示例
- Processing ceil()用法及代码示例
- Processing curveVertex()用法及代码示例
- Processing concat()用法及代码示例
- Processing continue用法及代码示例
- Processing color()用法及代码示例
- Processing copy()用法及代码示例
- Processing cos()用法及代码示例
- Processing circle()用法及代码示例
- Processing char用法及代码示例
- Processing color用法及代码示例
- Processing class用法及代码示例
- Processing curve()用法及代码示例
- Processing curveTightness()用法及代码示例
注:本文由纯净天空筛选整理自processing.org大神的英文原创作品 createGraphics()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。