Seite 1 von 1
Wie Sichtbares auf ein transparentes Bild malen?
Verfasst: 23.11.2009 18:25
von Syntacks_Error
Ich habe ein transparentes Bild (png) als imagegadget, auf das ich programmabhängig malen und texten will. Dieses Bild liegt über dem eigentlichen Fensterhintergrund. Wenn das png eine Hintergrundfarbe hat, gehts. Transparent geht es nicht, Malerei und Texterei bleiben unsichtbar, egal welchen Parameter ich bei DrawingMode nehme. Leuchtet natürlich insoweit ein, als durchsichtig nun mal durchsichtig ist - aber wozu gibt es transparente Bilder, wenn man darauf nicht malen kann? Mit dem Malprogramm geht es ja auch

Re: Wie Sichtbares auf ein transparentes Bild malen?
Verfasst: 23.11.2009 18:56
von STARGÅTE
Wenn du in ein 32-Bit PNG malst (welches ja ein Alpha-Kanal hat) dann musst du auch den AlphaWert für deine Farbe angeben.
Auf gut deutsch: RGB(255,255,255) oder $FFFFFF wird zwar weiß gemacht, aber halt mit dem AlphaWert 0
Daher DrawingMode(#PB_2DDrawing_AlphaBlend) verwenden
und dann mit RGBA(255,255,255,255) oder $FFFFFFFF arbeiten ...
Re: Wie Sichtbares auf ein transparentes Bild malen?
Verfasst: 23.11.2009 19:19
von Kaeru Gaman
nicht zu vergessen, das geht erst ab V4.40, die noch in der Beta ist.
wenn du die 4.31 benutzt, geht es garnicht.
Mit dem Malprogramm geht es ja auch
welches einzige Programm der Welt nennt sich denn "Das Malprogramm"...?
Re: Wie Sichtbares auf ein transparentes Bild malen?
Verfasst: 23.11.2009 19:30
von jojo1541
Microsoft Paint.

Re: Wie Sichtbares auf ein transparentes Bild malen?
Verfasst: 23.11.2009 19:46
von Syntacks_Error
Wunderbar. Habe 4.40 Beta 5, damit klappt es, aber die Konstante "#PB_2DDrawing_AlphaBlend" gibt es da in der Erläuterung/Hilfe noch gar nicht. Kleine Hürde war noch, daß entgegen der Erwartung der erste Doppelwert die Transparenz steuert und nicht der letzte.
DrawText(x,y,text$,$FF000000,$00000000)
ergibt tatsächlich das gewünschte Ergebnis, Schwarzer Text mit Transparenz 0 (FF) auf durchsichtiger Hintergrundfarbe. Vielen Dank.
Edit: Achso, das Malprogramm war in diesem Fall Gimp

Re: Wie Sichtbares auf ein transparentes Bild malen?
Verfasst: 23.11.2009 20:26
von Kaeru Gaman
Kleine Hürde war noch, daß entgegen der Erwartung der erste Doppelwert die Transparenz steuert und nicht der letzte.
das liegt daran, dass beim PC Zahlen mit dem kleineren Wert zuerst im Speicher stehen.
wenn man Zahlen schreibt, schreibt man allerdings links den höheren Wert.
also stehen die Farbcodes natürlich RGBA im speicher,
wenn man das aber als achtstellige Hexadezimalzahl schreibt, ist es logischer Weise $AABBGGRR angeordnet.