有时当我调整半透明png的大小时,我会在形状边缘上得到奇怪的白色像素。只有具有形状(不是照片)且InterpolationMode
设置为HighQualityBicubic
的图像才会出现这种情况。有谁知道为什么这个白色像素显示?我只在一些图像上得到它们。
这是我得到的结果:
这是源文件:
这是类似的文件,不会导致“白色像素”效果。
绘图代码非常简单:
Bitmap resize = new Bitmap(1024, 177, PixelFormat.Format32bppArgb);
using (Graphics g = Graphics.FromImage(resize))
{
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.DrawImage(Properties.Resources.Wave01, 0, 0, 1024, 177);
}
请注意,我使用HighQualityBicubic
,因为该代码用于调整各种类型的图片,包括照片。使用InterpolationMode.Default
似乎可以解决问题,但是调整某些图像类型可能会产生比HighQualityBicubic
更糟糕的结果。