DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

DOBON.NET

画像の一部を切り取って表示する

補足:画像の表示方法が分からないという方は、まず「画像ファイルを表示する」をご覧ください。

画像の一部を切り取って表示(トリミング)する方法を紹介します。これも実に簡単で、Graphics.DrawImageメソッドに表示位置と、切り取る範囲、そして使用する単位を指定するだけです。

次の例では画像ファイル"C:\サンプル.jpg"の(10,10)-(100,100)の範囲をピクチャボックスPictureBox1に表示しています。

[VB.NET]
'画像の一部を切り取って表示する(トリミング)
'Bitmapオブジェクトの作成
Dim img = New Bitmap("C:\サンプル.jpg")
'PictureBox1のGraphicsオブジェクトの作成
Dim g As Graphics = PictureBox1.CreateGraphics()

'元の画像の(10,10)-(100,100)の部分を切り取って表示する
'座標(0,0)に表示し、単位をピクセルとする
Dim rect As New Rectangle(10, 10, 100, 100)
g.DrawImage(img, 0, 0, rect, GraphicsUnit.Pixel)

'Graphicsオブジェクトを破棄
g.Dispose()
[C#]
//画像の一部を切り取って表示する(トリミング)
//Bitmapオブジェクトの作成
Bitmap img = new Bitmap(@"C:\サンプル.jpg");
//PictureBox1のGraphicsオブジェクトの作成
Graphics g = PictureBox1.CreateGraphics();

//元の画像の(10,10)-(100,100)の部分を切り取って表示する
//座標(0,0)に表示し、単位をピクセルとする
Rectangle rect = new Rectangle(10, 10, 100, 100);
g.DrawImage(img, 0, 0, rect, GraphicsUnit.Pixel);

//Graphicsオブジェクトを破棄
g.Dispose();

なお、自動スケーリングが行われる可能性があることに注意してください。自動スケーリングについて詳しくは自動スケーリングの解除によるパフォーマンスの向上をご覧ください。

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • このサイトで紹介されているコードの多くは、例外処理が省略されています。例外処理については、こちらをご覧ください。