Использование Graphics.DrawImage() для рисования изображения с прозрачностью/альфа-каналом

Я копирую изображение. (Мой фактический код изменяет размер изображения, но это не относится к моему вопросу.) Мой код выглядит примерно так.

Image src = ...

using (Image dest = new Bitmap(width, height))
{
    Graphics graph = Graphics.FromImage(dest);
    graph.InterpolationMode = InterpolationMode.HighQualityBicubic;
    graph.DrawImage(src, 0, 0, width, height);
    dest.Save(filename, saveFormat);
}

Кажется, это прекрасно работает, если только srcне загружается из изображения с прозрачностью (например, GIF) или альфа-каналом (например, PNG).

Как заставить DrawImage()передать прозрачность/альфа-канал новому изображению, а затем сохранить их при сохранении файла?

16
задан Jonathan Wood 18 May 2012 в 20:02
поделиться