基本関数に戻る    印刷する

画像データ

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()  オフスクリーンバッファへの描画を終了します。

arigat アットマーク acm.org / copyright © info