У меня проблема с масштабированием изображения в .NET. Я использую стандартный тип Graphics для изменения размеров изображений, как в этом примере:
public static Image Scale(Image sourceImage, int destWidth, int destHeight)
{
        Bitmap toReturn = new Bitmap(sourceImage, destWidth, destHeight);
        toReturn.SetResolution(sourceImage.HorizontalResolution, sourceImage.VerticalResolution);
        using (Graphics graphics = Graphics.FromImage(toReturn))
        {
            graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
            graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
            graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
            graphics.DrawImage(sourceImage, 0, 0, destWidth, destHeight);
        }
        return toReturn;
    }
Но у меня большая проблема с измененными изображениями: они имеют серые и черные границы, и чрезвычайно важно сделать изображения без них.
Почему они появляются и что я могу сделать, чтобы они исчезли?
Результат вывода:
 
