画像を縮小する

というわけでおまけとしてC#.NETの場合も.
このサンプルを作ったときのコンテキストの都合上,こちらは元画像がTIFのものを縮小した上,pngに変換して出力している.


/**
* 縮小ボタンが押されたときの処理
*/
private void button1_Click(object sender, System.EventArgs e)
{
// 変換元画像の読み込み
string srcTif = textBox1.Text;
string tifName = Path.GetFileName(srcTif);
Image img = Image.FromFile(srcTif);

// 縮小
int resizeRatio = 33; //縮小率(%)
Image img2 = new Bitmap(img.Width * resizeRatio / 100, img.Height * resizeRatio / 100);
Graphics g = Graphics.FromImage(img2);
g.InterpolationMode = InterpolationMode.Bicubic; //補間方法の指定
g.DrawImage(img,0,0,img2.Width, img2.Height);
img = img2;

// 変換画像を出力
img.Save(stCurrentDir + "\\resize" + resizeRatio + ".png",System.Drawing.Imaging.ImageFormat.Png);
}

変換時の補間方法として,HighQualityBicubic(高品質双三次補間)を指定している.
結局これが上記Javaの例と比べても,一番綺麗だった.