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

画像を拡大、縮小して表示する

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

画像を拡大、縮小して表示(スケーリング)するには、Graphics.DrawImageメソッドで画像を表示するときに、表示する大きさを指定してあげるだけです。

次の例ではもとの画像を1.5倍にしてピクチャボックスPictureBox1に表示しています。

VB.NET
コードを隠すコードを選択
'画像を拡大、縮小して表示する(スケーリング)
'Bitmapオブジェクトの作成
Dim img As Bitmap =  New Bitmap("C:\test.bmp")
'PictureBox1のGraphicsオブジェクトの作成
Dim g As Graphics = PictureBox1.CreateGraphics()

'元の画像の大きさを1.5倍にして表示する
Dim rect As RectangleF = _
    New RectangleF(0, 0, 1.5F * img.Width, 1.5F * img.Height)
g.DrawImage(img, rect)
'または、次のようにも書ける
g.DrawImage(img, 0, 100, 1.5F * img.Width, 1.5F * img.Height)

'BitmapとGraphicsオブジェクトを破棄
img.Dispose()
g.Dispose()
C#
コードを隠すコードを選択
//画像を拡大、縮小して表示する(スケーリング)
//Bitmapオブジェクトの作成
Bitmap img = new Bitmap(@"C:\test.bmp");
//PictureBox1のGraphicsオブジェクトの作成
Graphics g = PictureBox1.CreateGraphics();

//元の画像の大きさを1.5倍にして表示する
RectangleF rect =
    new RectangleF(0, 0, 1.5F * img.Width, 1.5F * img.Height);
g.DrawImage(img, rect);
//または、次のようにも書ける
g.DrawImage(img, 0, 100, 1.5F * img.Width, 1.5F * img.Height);

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

補間方法を指定して画像を拡大、縮小表示する方法につきましては、こちらで説明しています。また、サムネールイメージ(縮小イメージ)を作成する方法につきましては、こちらで説明しています。

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

  • このサイトで紹介されているコードの多くは、例外処理が省略されています。例外処理については、こちらをご覧ください。
  • Windows Vista以降でUACが有効になっていると、ファイルへの書き込みに失敗する可能性があります。詳しくは、こちらをご覧ください。