2008-10-26 4 views

Antwort

6

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.

+0

PngComponents kann weiterhin von der [Wayback Machine hier] heruntergeladen werden (https://web.archive.org/web/20071214214235/http://thany.org/article/32/PngComponents). – DaveBoltman

3

Verwenden Sie ein Grafikprogramm wie Photoshop (oder etwas weniger teuer), um die Bilder in Bitmaps zu konvertieren. BitBtns akzeptieren keine GIF- oder PNG-Bilder.

+1

Aber dann wird Transparenz ein Problem. – delphist

+1

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. –

+0

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. –

2

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.

1

PNGimage, die in Delphi 2009k enthalten ist, sollte die Aufgabe erledigen. Wenn wir es finden können.