注意:画像の表示方法が分からないという方は、まず「コントロールやフォームに画像を表示する」をご覧ください。
ここでは、サムネールイメージ(縮小されたイメージ)を作成する方法を紹介します。
ただ単に縮小(あるいは拡大)イメージを作成したいときは、次のようにBitmapオブジェクト作成時にその大きさを指定することにより可能です。
'Imports System.Drawing '画像ファイルを読み込んで、Bitmapオブジェクトを作成 Dim bmp As New Bitmap("test.jpg") 'bmpを 100x100 の大きさにしたBitmapオブジェクトを作成 Dim small As New Bitmap(bmp, 100, 100) 'PictureBoxに表示 PictureBox1.Image = small
//using System.Drawing; //画像ファイルを読み込んで、Bitmapオブジェクトを作成 Bitmap bmp = new Bitmap("test.jpg"); //bmpを 100x100 の大きさにしたBitmapオブジェクトを作成 Bitmap small = new Bitmap(bmp, 100, 100); //PictureBoxに表示 PictureBox1.Image = small;
さらに、Image.GetThumbnailImageメソッドを使用することにより、サムネイルイメージを作成することが出来ます。この時、画像に「埋め込みサムネイルイメージ」が含まれる場合、このメソッドは埋め込みサムネイルを取り出して要求されたサイズに変更しますが、画像に「埋め込みサムネイルイメージ」が含まれない場合、このメソッドは元のイメージのサイズを変更してサムネイルイメージを作成します。
またMSDNには、次のような記述があります。
「要求されたサムネイル イメージのサイズが 120 x 120 程度の場合に効率よく処理を行います。埋め込みサムネイルが含まれる Image オブジェクトからサイズの大きいサムネイル イメージ (300 x 300 程度) を作成するように要求した場合、サムネイル イメージの品質はかなり低下します。この場合は、 DrawImage を呼び出して、元のイメージのサイズを変更した方が、埋め込みサムネイルのサイズを変更するよりも高い品質を得られます。」
MSDNの記述にあるDrawImageを呼び出して画像を縮小する方法は、「画像を拡大、縮小(スケーリング)して描画する」で説明しています。
以下にGetThumbnailImageメソッドを使った例を示します。
'Imports System.Drawing 'サムネールイメージを作成 '画像ファイルを読み込んで、Bitmapオブジェクトを作成 Dim bmp As New Bitmap("test.jpg") '大きさを100x100ピクセルのサムネールイメージを作成 Dim small As Image = bmp.GetThumbnailImage(100, 100, Nothing, IntPtr.Zero) 'PictureBoxに表示 PictureBox1.Image = small
//using System.Drawing; //サムネールイメージを作成 //画像ファイルを読み込んで、Bitmapオブジェクトを作成 Bitmap bmp = new Bitmap("test.jpg"); //大きさを100x100ピクセルのサムネールイメージを作成 Image small = bmp.GetThumbnailImage(100, 100, null, IntPtr.Zero); //PictureBoxに表示 PictureBox1.Image = small;