ひどい品質ではないサムネイルを作成するのに苦労しています。これまでのところ、私が思いついた最高のコードは次のとおりです。
Bitmap bmp = new Bitmap(width, height);
Graphics graphic = Graphics.FromImage(bmp);
graphic.InterpolationMode = InterpolationMode.HighQualityBicubic;
graphic.SmoothingMode = SmoothingMode.HighQuality;
graphic.PixelOffsetMode = PixelOffsetMode.HighQuality;
graphic.CompositingQuality = CompositingQuality.HighQuality;
graphic.DrawImage(photo, 0, 0, width, height);
return imageToByteArray(bmp);
この宝石を生成するもの:
Paint.NET で同じ画像のサイズを変更すると、次のようになります。
どちらがはるかに優れています。私がオンラインで見つけたものはすべて、上記のコードのバリエーションを示しています。Paint.NET がオープン ソースだったことは知っています。このような優れたサイズ変更機能を作成するために彼らが行っていた魔法と、その機能を C# で再現できるかどうかを知っている人はいますか?
アップデート:
この例の元の画像は jpg でした