* DrawImageの罠 [#q14e7cf6]
- DrawImageで拡大縮小する際、InterpolationModeだけでなく、PixelOffsetModeも設定しないと、期待している結果より1pxずれが生じる場合がある。
- PixelOffsetModeにはHalf(0.5pxオフセット)というプロパティもある。HighQualityと何が違うのかは不明。
#code(Csharp,nooutline){{
Bitmap srcBmp = bba.ToBitmap();
Bitmap newBmp = new Bitmap(width, height, PixelFormat.Format32bppArgb);
Graphics g = Graphics.FromImage(newBmp);
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
g.DrawImage(srcBmp, new Rectangle(0, 0, width, height), new Rectangle(0, 0, srcBmp.Width, srcBmp.Height), GraphicsUnit.Pixel);
}}