transparentes Image mit Text per Code erzeugen

10/02/2010 - 14:29 von Lutz Elßner | Report spam
Ich brauche ein Bild mit einem transparenten Hintergrund und schwarzer Schrift.
Die Schrift muss per Code erzeugt werden und das fertige Image in den Response Stream geschrieben werden.

Das funktioniert auch, jedoch ist das Bild nicht transparent.
Ich habe schon mehrere Beispiele gegoogelt, wo aber immer ein vorhandenes Bild transparent gemacht wird.

http://www.bobpowell.net/giftransparency.htm
http://www.codeproject.com/KB/aspne...t_Gif.aspx

Ich möchte nur ein neues, leeres Bitmap beschriften. Das kann doch nicht so kompliziert sein wie in den Beispielen?
Außerdem reicht mir eine Farbe bzw. es könnte schwarz/weiß=transparent sein.
Es muss auch nicht zwingend gif sein, falls transparent auch anders geht.

Zur Zeit scheitere ich daran, dass man in ein indiziertes Pixelformat nicht mit DrawString schreiben kann...

Ich danke für ein Beispiel.

Lutz
 

Lesen sie die antworten

#1 Karsten Sosna
10/02/2010 - 15:09 | Warnen spam
Ich brauche ein Bild mit einem transparenten Hintergrund und schwarzer
Schrift.
Die Schrift muss per Code erzeugt werden und das fertige Image in den
Response Stream geschrieben werden.

Das funktioniert auch, jedoch ist das Bild nicht transparent.
Ich habe schon mehrere Beispiele gegoogelt, wo aber immer ein vorhandenes
Bild transparent gemacht wird.

http://www.bobpowell.net/giftransparency.htm
http://www.codeproject.com/KB/aspne...t_Gif.aspx

Ich möchte nur ein neues, leeres Bitmap beschriften. Das kann doch nicht
so kompliziert sein wie in den Beispielen?
Außerdem reicht mir eine Farbe bzw. es könnte schwarz/weiß=transparent
sein.
Es muss auch nicht zwingend gif sein, falls transparent auch anders geht.



Hallo Lutz,
BMPs unterstützen keine Transparenz(BMP <> Bitmap). Wenn Du den
ResponseStream als BMP ausgibst hat er auch keine Transparenz, da
Alpha-Kanal ignoriert wird.

Zur Zeit scheitere ich daran, dass man in ein indiziertes Pixelformat
nicht mit DrawString schreiben kann...



Zeichne die indizierte Grafik auf eine Bitmap deren Hintergrund Du auf
transparent gesetzt hast. Auf diese Grafik kannst Du dann Deine
Zeichenoperationen ausführen. Danach speicherst Du die Bitmap in Deinen
ResponseStream mit bspw. ImageFormat.Png.
Gruß Scotty

Ähnliche fragen