welcome: please sign in
location: "画像を表示する"の差分
14と15のリビジョン間の差分
2009-12-03 04:43:30時点のリビジョン14
サイズ: 2199
編集者: masahiko
コメント:
2009-12-03 04:44:27時点のリビジョン15
サイズ: 2200
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 14: 行 14:
コンストラクタ内に記述すれば、インスタンスが作られるときに実行される。  コンストラクタ内に記述すれば、インスタンスが作られるときに実行される。

画像を表示する

画像を表示するには2つの処理が必要です。

  • 画像を読み込む
  • 画像を表示する

読み込んだ画像を覚えておくにはImageクラスの変数(オブジェクト)を使います。

  • image1.png


画像を読み込む

最初に一度だけ行えばよい。

  • コンストラクタ内に記述すれば、インスタンスが作られるときに実行される。

画像ファイルから読み込むには ImageIconクラスを使います。

  • javax.swingパッケージにあります。
  • コンストラクタ ImageIcon( ファイル名 ) を使うとファイルから読みこんでインスタンスが作られます。

ImageIconインスタンスからImageを得るにはgetImageメソッドを使います。

  •    1  public class Sample11 extends JPanel
       2  {
       3         Image img;
       4         
       5         Sample11()
       6         {
       7                 ImageIcon ii;
       8                 ii = new ImageIcon( "sample.jpg" );
       9                 img = ii.getImage();
      10         }
      11  }
    


画像を表示する

  • 表示はpaintComponentメソッド内に記述します。

drawImageメソッドを使います。

  • java.awtパッケージ内
  • graphicsクラス

のメソッドです。

APIを調べてみましょう。同じ名前のメソッドが6種類あります。
最も簡単な使い方を示します。

  •  g.drawImage(img, 0,0, this);
  • 1番目の引数で表示するイメージを指定します。
  • 2番目と3番目の引数で、どの位置に表示するかを指定します。
  • 4番目の引数には情報を受け取るオブジェクトを指定します。通常はthisを指定すればよい。

画像を読み込む処理は別のスレッドで行われるため、 場合によっては処理が完了したかなどの情報が必要なことがあります。 ネットワークを介してファイルを読み込むなど手間のかかる処理を考えてみてください。 このために、ImageObserverの機能をもつオブジェクトを最後の引数として指定します。

画像を表示する (最終更新日時 2010-12-18 06:53:05 更新者 masahiko)