端くれプログラマの備忘録 C#,画像処理 [C#] 画像を拡大/縮小する

[C#] 画像を拡大/縮小する

画像を簡単に拡大/縮小するにはGraphicsオブジェクトを使う。

まず結果となるビットマップを作成し、そのビットマップからGraphicsオブジェクトを作成。そして、そのGraphicsオブジェクトにソースビットマップを描画する。Graphicsオブジェクトにはビットマップの補間機能が用意されているので、InterpolationModeを指定することで補間モードを設定できる。

// Loads original image.
Bitmap src = new Bitmap("C:\Test.jpg");
 
// Reduces image to quater.
int w = bitmap.Width / 4;
int h = bitmap.Height / 4;
Bitmap dst = new Bitmap(w, h);
Graphics g = Graphics.FromImage(dst);
g.InterpolationMode = Bicubic;
g.DrawImage(src, 0, 0, w, h);
 
// Saves result.
dst.Save("C:\TestResult.png", ImageFormat.Png);

参考サイト

@IT:.NET TIPS 画像を高品質に拡大/縮小するには? – C#
http://www.atmarkit.co.jp/fdotnet/dotnettips/023resize/resize.html