Will ich den Inhalt von 2 PNG-Grafiken aneinanderfügen. Das Ergebnis ist allerdings nicht mehr transparent, so wie es die ursprünglichen Grafiken waren, stattdessen ist der Hintergrund schwarz oder schwarz-weiß gestreift. (Sieht irgendwie dreckig aus)
Wie kann ich die Transparenz beibehalten? Ich benutze Lazarus 0.9.27, eine entwas ältere SVN-Version.
Widgetset: GTK2
System: Linux Kernel 2.6.28-r5, Ubuntu
Die grafiken sind Teile des Linux-Compatibilty-Buttons des Listaller-Projektes (der Button zeigt an, welche Linux-Distributionen eine Anwendung unterstützt)
(Beispiel des gewünschten Ergebnisses soll so oder wie dieses aussehen. Die beiden Bilder sind gegimpt, sollen aber von der Lazarus-Anwendung automatisch erstellt werden.)
Die entsprechenden Testgrafiken sind im Anhang.
Hab's angeschaut. Ich kapier auch nie ganz was da passiert in der LCL.
Mit OPbitmap geht's, falls das für dich eine Option ist. Resultat im Anhang. Mit folgendem Code:
Danke theo, klasse Sache! (Du hast mir jetzt schon 2 mal richtig gut geholfen )
Also warum der Code jetzt geht, dass verstehe ich allerdings wirklich nicht. Aber naja, Hauptsache es geht. Um das "Warum?" kümmere ich mich mal, wenn mir richtig langweilig ist. Die LCL ist schon manchmal merkwürdig.... Wie bist du auf diese Lösung gekommen?
Ah!
Eine Frage hätte ich aber noch: Wenn ich bt2 für ein anderes Bitmap verwende und den Button neu zeichne, geht die alte zeichen-information verloren, d.h. der gesamte Inhalt wird gelöscht. Warum? Muss ich jetzt für jedes weitere Bild auch ein weiteres objekt erstellen? Die "Draw"-Methode sollte das neue Bild doch eigentlich richtig hinzuzeichnen.
Ich weiss jetzt nicht genau was du meinst, aber wenn du die Dimensionen des OpBitmaps änderst, wird der Inhalt gelöscht.
Du kannst den Inhalt aber in ein neues mit anderen Dimensionen kopieren.