グラフィックスを扱う |
まず、Component 領域の左上隅 (0, 0) に、標準的なサイズでイメージを表示 するコード例を示す。
g.drawImage(image, 0, 0, this);次に、座標 (90, 0) を起点として、幅 300 ピクセル、高さ 62 ピクセルのイメージ を表示するコード例を示す。
g.drawImage(myImage, 90, 0, 300, 62, this);以下に示すのは、上に示したコード例を両方とも使って、1 つのイメージをロードし 、それを 2 回表示するアプレットである。 プログラムの コード全体も参照できる。
Graphics クラスは、以下に示すような drawImage() メソッドを宣言している。 これらはすべて論理型値を返す。ただし、この値はめったに使用されることはない。 イメージのロードが完了し、完全に描画されている場合の返り値は true、それ以外の場合は false である。
- public abstract boolean drawImage(Image img, int x, int y, ImageObserver observer)
- public abstract boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer)
- public abstract boolean drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer)
- public abstract boolean drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer)
drawImage() メソッドは以下の引数をもつ。
- Image img
- 描画するイメージ。
- int x, int y
- イメージの左上隅の座標。
- int width, int height
- イメージの幅と高さ (ピクセル単位) 。
- Color bgcolor
- イメージの下に敷くカラー。 イメージに透明なピクセルがあり、指定のカラーで塗りつぶされた背景と対比さ せてそのイメージを表示することがわかっている場合、この引数は便利である。
- ImageObserver observer
- ImageObserver インタフェースを実装するオブジェクト。 これは、イメージに関する新しい情報が参照可能になるたびに必ず通知されるよ う、オブジェクトをイメージオブザーバとして登録する。 ほとんどのコンポーネントは this を指定するだけでよい。
this がイメージオブザーバとして機能する理由は、Component クラス が ImageObserver インタフェースを実装するからである。 その実装が、イメージデータがロードされるときに repaint() メソッドを起動する (これは通常、ユーザの希望にもかなうことである) 。
drawImage() メソッドは、それまでロードされていたイメージデータ を表示した後、戻る。 drawImage() が完成したイメージだけを描くようにしたい場合は、イ メージローディングを追跡する必要がある。 イメージローディングの追跡については、 前のページ を参照する。
グラフィックスを扱う |