Processing

PythonでProcessing Rendering createGraphics()

新しいPGraphicsオブジェクトを作成して返す。画面外のグラフィックバッファに描画する必要がある場合は、このクラスを使用すること。最初の2つのパラメータは、ピクセル単位で幅と高さを定義する。オプションの3つ目のパラメータは、レンダラーを指定する(P2D、P3D、PDFのいずれか)。3番目のパラメータを使用しない場合は、デフォルトのレンダラーが設定される。PDFレンダラーの場合は、filenameパラメータが必要。

createGraphics()で使用するレンダラーは、size()で指定するメインのレンダラーとの関係で考えることが重要。たとえば、P2DとP3Dのいずれかがsize()で定義されている場合にのみ、createGraphics()でP2DとP3Dを使用できる。(Processing 1.0とは異なり、P2DとP3Dは描画にOpenGLを使用しており、OpenGLレンダラを使用する場合は、メインの描画面がOpenGLベースである必要がある)。size()でP2DまたはP3Dがレンダラーとして使用されている場合は、createGraphics()で任意のオプションを使用できる。size()でデフォルトのレンダラーが使用されている場合、createGraphics()で使用できるのは、デフォルトまたはPDFのみ。

描画関数は、beginDraw()とendDraw()の間で呼び出すことが重要。これは、smooth()やcolorMode()など、描画に影響を与える関数についても同様。

完全に不透明なメインの描画のサーフェスとは異なり、createGraphics()で作成されたサーフェスは透明度を持つことができる。これにより、グラフィックスに描画してもアルファチャンネルを維持できる。save() を使って PNG や TGA ファイルを作成すると、グラフィックス・オブジェクトの透明度が保持される。

# 構文
# createGraphics(w, h)
# createGraphics(w, h, renderer)
# createGraphics(w, h, renderer, path)
#
# パラメータ
# w int : ピクセル単位の幅
# h int : ピクセル単位の高さ
# renderer 文字列 : P2D、P3D、PDFのいずれか
# path 文字列 : ファイル名(絶対パス、相対パスのどちらでも可)