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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。