画像を簡単に拡大/縮小するにはGraphicsオブジェクトを使う。
まず結果となるビットマップを作成し、そのビットマップからGraphicsオブジェクトを作成。そして、そのGraphicsオブジェクトにソースビットマップを描画する。Graphicsオブジェクトにはビットマップの補間機能が用意されているので、InterpolationModeを指定することで補間モードを設定できる。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
// 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