TImage - Transparenz

Für allgemeine Fragen zur Programmierung, welche nicht! direkt mit Lazarus zu tun haben.
Antworten
Cool-Tuc
Beiträge: 100
Registriert: Mi 6. Apr 2011, 17:10

TImage - Transparenz

Beitrag von Cool-Tuc »

Hallo,
ich verwende Lazarus 1.8.4 unter Ubuntu. Die Grafik ist eine mit Gimp erstellte PNG-Datei mit transparentem Hintergrund. Weise ich dem TImage zur Designzeit diese Grafik zu, ist diese transparent wie im Bild gespeichert OK. Lade ich zur Laufzeit die Grafik, wird die Transparenz ignoriert.
Habe hier im Forum schon alle entsprechenden Beiträge durchgearbeitet, aber leider keine Lösung gefunden. Wo mache ich den Denkfehler?
Danke
Udo

Erwin
Beiträge: 286
Registriert: Mi 16. Sep 2009, 14:15
OS, Lazarus, FPC: Xubuntu 22.04 / x86_64_linux-gtk 2 / L 2.2.0 / FPC 3.2.2

Re: TImage - Transparenz

Beitrag von Erwin »

Kenne das Problem. Ist aber schon lange her. Glaube, das lässt sich lösen, in den man währen der Laufzeit, vor dem Laden/Darstellen des Bildes, Transparent auf False und danach, wenn das Bild geladen ist, auf True setzt. Bin mir aber leider nicht mehr ganz sicher, ob das Klappt. Aber ein Versucht ist es alle mal Wert, denk ich.
Lazarus 2.2.0 / FP 3.2.4

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: TImage - Transparenz

Beitrag von wp_xyz »

Die Beschreibung lässt noch einige Fragen offen. Besser, du postest ein kleines Projekt, an dem man das Problem direkt sieht. Meine eigene, ins Blaue geratene Variante des Problems zeigt den Fehler jedenfalls nicht, weder unter Windows noch unter Ubuntu - siehe Anhang.
Dateianhänge
transparent_png.zip
(3.36 KiB) 163-mal heruntergeladen

Cool-Tuc
Beiträge: 100
Registriert: Mi 6. Apr 2011, 17:10

Re: TImage - Transparenz

Beitrag von Cool-Tuc »

Danke erst einmal

@Erwin: den Tipp habe ich auch schon gefunden, funktioniert aber nicht...
@wp_xyz: schaue ich mir mal an..

Cool-Tuc
Beiträge: 100
Registriert: Mi 6. Apr 2011, 17:10

Re: TImage - Transparenz

Beitrag von Cool-Tuc »

Hallo,
hatte wenig Zeit, aber nun das Ergebnis. Die eingescannten Bilder waren wohl nicht sauber mit transparentem Hintergrund versehen (war aber mit bloßem Auge nicht zu erkennen)
funktioniert mit einem sauberen Bild einwandfrei...
Danke
Udo

Antworten