Wie pflege ich Transparenz in einem Bild von einem Http-Handler, wenn Graphics.DrawImage mit?
-
04-07-2019 - |
Frage
Ich habe eine Reihe von GIF-Dateien, die ich im Fluge beschneiden müssen, ich bin ein HTTP-Handler in C #, so kann ich besser den Code kapselt - bieten Caching für das Ergebnis etc
. Zur Zeit, als ich das vorhandene Bild auf einen neuen Image
über das Graphics
ziehen Objekt all die Transparenz verloren geht.
Ich habe verschiedene Techniken versucht, die Transparenz zu versuchen und zu halten, aber ohne Erfolg.
Dinge, die ich habe versucht:
- Verwenden der
MakeTransparent (Color)
Methodenaufruf - Verwenden des
ImageAttriutes
mit einer Kombination ausColorMap
undSetColorKey
Ich will nicht wirklich unsicher Operatoren oder Win32-Aufrufe beginnen.
Irgendwelche Ideen?
Lösung
Dies scheint bereits beantwortet zu haben Wie Sie Transparent Bild Zeichnen Sie mit System.Drawing?
Andere Tipps
Als ich Transparenz verwendet habe ich immer verwendet Bitmap
. D.
System.Drawing.Image SourceImage = System.Drawing.Image.FromFile("the.gif");
System.Drawing.Bitmap NewImage = new System.Drawing.Bitmap(SourceImage);
// Do Processing
NewImage.MakeTransparent();
// Store changes
NewImage.Save(..., System.Drawing.Imaging.ImageFormat.Png);
Natürlich, wenn Sie nicht aus dem Graphics
Objekt wegbewegen dann, die nicht von großem Nutzen sein kann.