Ich benutze Delphi 2007. Wie kann ich ein GIF/PNG-Bild auf eine BitBtn-Komponente setzen? (Vorzugsweise mit Alpha-Transparenz unterstützt)Wie stelle ich GIF/PNG/... Bild auf ein BitBtn in Delphi?
Antwort
PngComponents Pack hat eine Komponente namens PngBitBtn, die PNGs mit Alpha-Transparenz korrekt anzeigen kann. Sie sind etwas alt, aber sie können mit ein wenig Arbeit unter Delphi 2007 installiert werden.
Verwenden Sie ein Grafikprogramm wie Photoshop (oder etwas weniger teuer), um die Bilder in Bitmaps zu konvertieren. BitBtns akzeptieren keine GIF- oder PNG-Bilder.
Aber dann wird Transparenz ein Problem. – delphist
Aus dem Speicher hatte Delphi einen kleinen Trick, bei dem eines der Eckpixel (oben links? Unten links?) Als "transparente" Farbe angesehen wurde. Wenn Sie dieses Pixel als die Farbe belassen, die transparent sein soll, sollte es auch für BMPs funktionieren. –
Es ist das untere linke Pixel, aber es ist nur die Farbschlüssel-Transparenz. Wenn Sie Alpha-Blended-Transparenz benötigen, müssen Sie PNG in Delphi 2009 verwenden. –
PNG-Unterstützung wird nur vollständig von Delphi 2009 unterstützt. Es gibt ein Freeware-Paket (lizenziert als MPL 1.1) mit dem Namen GraphicEx, mit dem Sie die Bilder zur Entwurfszeit/Laufzeit laden können, aber die Alpha-Blend Transparenz nicht erhalten auf der Schaltfläche in Delphi 2007.
PNGimage, die in Delphi 2009k enthalten ist, sollte die Aufgabe erledigen. Wenn wir es finden können.
PngComponents kann weiterhin von der [Wayback Machine hier] heruntergeladen werden (https://web.archive.org/web/20071214214235/http://thany.org/article/32/PngComponents). – DaveBoltman