C# 调整半透明位图大小时出现白色像素

C# 调整半透明位图大小时出现白色像素,c#,.net,gdi+,system.drawing,C#,.net,Gdi+,System.drawing,有时,当我调整半透明png的大小时,我会在形状边缘上看到奇怪的白色像素。这仅适用于具有形状(而非照片)的图像,并且当InterpolationMode设置为HighQualityBicubic时才会发生。有人知道为什么会出现这种白色像素吗?我只在一些图片上看到它们 这是我得到的结果: 这是源文件: 这是一个类似的文件,不会产生“白色像素”效果 绘图代码非常简单: Bitmap resize = new Bitmap(1024, 177, PixelFormat.Format32bppArg

有时,当我调整半透明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

更糟糕的结果,请参见@BrettWolfington-我认为这不一样。这些不是半透明像素,并且肯定不在图像边缘。您所指的解决方案是使用
ImageAttributes
并将
WrapMode
设置为
WrapMode.TileFlipXY
。但这只影响图像边界。