Использование 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()
перенести прозрачные / альфа-каналы на новое изображение, а затем сохранить их при сохранении файла?