2017-07-08 2 views
0

Gerade mit Lazarus begonnen. Hier ist das Problem: Ich habe ein Panel auf ein Formular gesetzt und die Farbe des Panels auf clRed gesetzt. Ich habe dann eine TImage auf dem Panel platziert. Ich habe ein Bitmap-Bild (.bmp) in die Bildkomponente geladen.Kein transparenter Hintergrund trotz Einstellung transparent für 'wahr'.

Obwohl das Bild so erscheint, wie es sollte, ist der Hintergrund nicht transparent (d. H. Rot), obwohl ich das Kästchen 'transparent' für das entsprechende TImage im Objektinspektor markiert habe.

Also, was habe ich diesmal falsch gemacht?

Antwort

0

"Transparent" in Bezug auf bmp bedeutet: Ersetzen Sie eine bestimmte Farbe durch den Hintergrund. Normalerweise wird diese Farbe durch das Pixel in der linken/unteren (oder oberen?) Ecke des Bildes definiert. Hast du an dieser Stelle die richtige Farbe?

Normalerweise gibt es weniger Probleme mit der Transparenz, wenn ein png-Bild mit einem echten Alpha-Kanal in TImage geladen wird. Versuchen Sie für einen Test den paw.png im Ordner images \ splash_source \ der Lazarus-Installation - es funktioniert einwandfrei.

+0

Danke für Ihre Hilfe, alle; sehr geschätzt. – Mariner

0

Afaik das BMP Bildformat hat keinen Alpha Kanal und keine transparente Farbe. Das TImage ist also transparent, aber das geladene Bild unterstützt keine Transparenz. Der weiße Bildhintergrund wird weiterhin als weiß angezeigt, da das Programm nicht weiss, dass es weißer Hintergrund und nicht weißer Vordergrund ist. Verwenden Sie ein Bildformat, das Alpha-Werte unterstützt, und bearbeiten Sie Ihre Bilddatei so, dass sie vollständige oder halbtransparente Farben enthält. Ich empfehle. PNG-Dateiformat und vielleicht nur einige transparente Bilder von Google oder Gimp oder Paint.net verwenden, um eigene zu erstellen.

Verwandte Themen