画像データ
Processing は gif, jpg, tga, png 形式の画像データを表示できます。PImage
画像データはPImageクラスのオブジェクトとしてプログラム内に保存されます。PImageは画像データを保存するために使われるデータ型で、Processingが独自に定義しているクラスです。画像ファイルをloadImage関数を使って読み込むと、PImageクラスのオブジェクトが生成されます。PImageクラスのオブジェクトを作るのにはnewは使いません。
PImageクラスは次のようなフィールド(変数)をもちます。
■ pixels[] 画像データないのピクセル情報の入った配列
■ width 画像イメージの幅
■ height 画像イメージの高さ
pixels[]には、32bitの色情報が保存されます。データの並びは、AAAAAAAARRRRRRRRGGGGGGGGBBBBBBBBのようになっています。Aはアルファ値(透明度)、Rは赤、Gは緑、Bは青で、それぞれ8bit(0-255)の値です。ここから色の要素や色相、明度、彩度の情報を得るには、PImageクラスのred()、green()、blue()、hue()、saturation()、brightness()メソッドを使います。
画像ファイルの読み込み
loadImageメソッドを使って画像ファイルを読み、PImageオブジェクトを作ります。Prosessingのプログラムが使う画像ファイルは、pdeファイルと同じフォルダの下にあるdataフォルダに置きます。■ loadImage(ファイル名) 指定した画像ファイルをスケッチフォルダのdataフォルダから読み込み、PImageオブジェクトを作る。
PImage img; img = loadImage("gazo.jpg");
画像データの描画
PImageオブジェクトは、Processingのimage関数を使って、描画します。■ image(PImageオブジェクト, x, y) PImageオブジェクトを(x,y)の位置に描きます。(x,y)が画像の左角か中央かは、imageMode()の指定で決まります。デフォルトでは画像の左上角の位置。
■ image(PImageオブジェクト, a, b, c, d) PImageオブジェクト描きます。引数の意味はimageMode()の指定で決まります。デフォルトでは画像の左上角の位置と画像の幅と高さ。
■ imageMode(MODE) 楕円を描くときの座標の指定の仕方を設定します。
引数の値 CORNER:画像の左上角の座標を指定。 CORNERS:画像の左上角の座標と右下角の座標で指定。 CENTER:画像の中央の座標を指定。
描画した画像の保存
■ save(filename) 描画ウィンドウのイメージを、TIFF(.tif), TARGA(.tga), JPEG(.jpg), or PNG(.png)のいずれかの形式の画像ファイルとして保存します。指定したファイル名に拡張子がない時にはtif形式で保存します。オフスクリーンバッファ
Processingで描画関数を使って描画されたものは、デフォルトではすべてスクリーン上の画面に描画されます。場合によっては直接スクリーン上に描画を反映させずにおきたい時もあります。そのような場合、スクリーン上の画面とは別の、オフスクリーンの描画域を用意し、そこに描画すると都合がいい場合があります。描画域はPGraphicsクラスのオブジェクトとして用意します。createGraphics()関数を使って作ります。 オンスクリーンの描画域と違い、作られた描画域は透明です。
■ createGraphics(w, h) 指定した幅と高さで、size()関数で指定したのと同じ描画方法の描画域を作ります。
■ beginDraw() オフスクリーンバッファへの描画を始めます。
■ endDraw() オフスクリーンバッファへの描画を終了します。