Verwenden von Graphics.DrawImage () zum Zeichnen von Bildern mit Transparenz / Alpha-Kanal

Ich kopiere ein Bild. (Mein aktueller Code ändert die Größe des Bildes, aber das ist für meine Frage nicht relevant.) Mein Code sieht ungefähr so ​​aus.

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);
}

Dies scheint gut zu funktionieren, es sei dennsrc wird aus einem Bild mit Transparenzen (z. B. GIF) oder einem Alphakanal (z. B. PNG) geladen.

Wie bekomme ichDrawImage() die Transparenzen / Alpha-Kanal auf das neue Bild zu übertragen, und sie dann zu behalten, wenn ich die Datei speichere?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage