MemoryImageSource クラス
- [内容]
- 配列を使って Image のピクセル値を生成する ImageProducer インタフェースを実装します.ImageProducer は,Image オブジェクト用のイメージデータを生成することができるオブジェクトのためのインタフェースです.イメージには ImageProducer が含まれます.ImageProducer は,イメージの再構成が必要なとき,たとえば,Image の大きさの変更や Image の高さや幅が必要なときなどに使われます.
- [コンストラクタ]
- public MemoryImageSource(int w, int h, int[] pix, int off, int scan)
- デフォルト RGB カラーモデルの整数型配列を使用して Image オブジェクトデータを生成する ImageProducer オブジェクトを構築する
- w - 矩形ピクセルの幅
- h - 矩形ピクセルの高さ
- pix - ピクセルの配列
- off - 最初のピクセルを配列のどこに格納するかを表すオフセット
- scan - 配列上でのピクセルの 1 列の大きさ
- [主なメソッド]
- public void newPixels(int x, int y, int w, int h)
- イメージのデータを現在要求する ImageConsumer にピクセルの矩形領域バッファを送出し,アニメーションフレームの送出が完了したことを通知する.ImageConsumer インタフェースは,ImageProducer インタフェース経由でイメージデータを表示するオブジェクトのためのインタフェースである.
- x - 送出されるピクセルの矩形の左上隅の x 座標
- y - 送出されるピクセルの矩形の左上隅の y 座標
- w - 送出されるピクセルの矩形の幅
- h - 送出されるピクセルの矩形の高さ
- public void setAnimated(boolean animated)
- animated パラメータに従って,このメモリイメージをマルチフレームのアニメーションまたはシングルフレームの静止イメージに変更する
- animated - そのイメージがマルチフレームアニメーションの場合は true
- [使用例]
- プログラム例は,ファイルから MediaTracker を利用してイメージを読み込んだ後,指定したピクセルの色を取得し,その色で長方形を描くと共に,色を修正して読み込んだ図形全体を描いた例です.

- アニメーションを作成する方法としては,プログラムによって図形を描画する方法,外部から読み込んだ図形を順に表示する方法の他に,イメージのピクセル値を直接編集する方法が考えられます(もちろん,これらの方法を同時に使用する方法も考えられます).本文に例としてあげた花火は,ピクセル値を直接編集する方法によって作成しています.
- [参照]
- Toolkit, MediaTracker, PixelGrabber, Image