libro
www.tuyano.com
初心者のためのC#プログラミング入門

グラフィックの描画 (4/5)

作成:2013-09-07 11:10
更新:2013-09-07 11:10

■DrawImageでイメージを表示する

より複雑なグラフィックを表示させようとなると、図形を組み合わせて描いていくより、あらかじめイメージファイルを用意しておいてそれを読み込み表示させるほうがはるかに簡単でしょう。この「イメージの表示」について説明しましょう。

●イメージファイルからImageを作る
イメージは、System.Drawingパッケージの「Image」クラスとして用意されています。イメージを描画する場合には、まずイメージファイルを読み込んでImageインスタンスを作成し、これを描画メソッドに渡して描く、という形になります。

ファイルからImageインスタンスを作成するには、Imageクラスの「FromFile」というメソッドを利用します。これは以下のように呼び出します。
Image 変数 = Image.FromFile( ファイルパス );
引数に、読み込むイメージファイルのパスをテキストで指定します。実行するプログラム(EXEファイル)と同じ場所にファイルがあるなら、ファイル名を指定するだけでOKです。

●DrawImageによる描画
イメージファイルを読み込み表示するには、Graphicsの「DrawImage」というメソッドを使います。これは引数の異なるものが多数用意されています。とりあえず基本的なメソッドだけ以下に整理しておきましょう。
《Graphics》.DrawImage(《Image》, 横位置 , 縦位置 );
《Graphics》.DrawImage(《Image》,《Point》);
《Graphics》.DrawImage(《Image》, 横位置 , 縦位置 , 横幅 , 縦幅 );
《Graphics》.DrawImage(《Image》,《Rectangle》);
位置のみを指定した場合、その位置に原寸大でイメージが描画されます。大きさまで含めて指定をした場合には、そのサイズに拡大縮小してイメージを描画します。

以下に、イメージファイルを表示するサンプルを挙げておきましょう。前回のサンプルのmyframe_paintメソッド(Paintイベントで実行するメソッド)を以下のリスト欄のように書き換えてください。そしてビルドして作成されたEXEファイルと同じ場所に「sample.jpg」という名前でイメージファイルを用意しておきます。これで、このイメージファイルを読み込んで変形し、ウインドウ内に描画をします。

(※なお、ビルドして作成されるEXEファイルは、プロジェクトフォルダの「bin」フォルダ内にある「Debug」または「Release」フォルダの中に作成されます)

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

private void myframe_paint(object sender, PaintEventArgs e)
{
    Graphics g = e.Graphics;
    Image img = Image.FromFile("sample.jpg");
    g.DrawImage(img,25,25,100,100);
    g.DrawImage(img,125,125,100,100);
}

※関連コンテンツ

「初心者のためのC#プログラミング入門」に戻る