![]() |
TBitmap mit Alpha-Channel
Hallo,
ich bekomme es nicht hin ein TImage (bzw.TBitmap) mit Alphakanal aus einer TImageList zu benutzen. Vorher habe ich das Bild (png mit Alphakanal) mittels TPicture.LoadFromFile geladen und in mein TBitmap kopiert: bmp.Canvas.Draw(0, 0, pngPicture.Graphic); Funktionierte gut, nur soll ich nun die Bilder aus eine TImageList nutzen statt aus einer Datei. Die Png-Bilder werden in der ImageList mit Alphakanal angezeigt. ColoDepth=cd32Bit und DrawingStyle=dsTransparent Aber wenn ich diese wie zuvor zeiche, wird der Alphakanal nicht benutzt. Habe schon viel ausprobiert; z.b. auf die Scanlines zugreifen, um den Alphakanal zusetzen. Aber das Bild wird entweder Bund mit Alphakanal angezeigt, oder Schwarz/Weiss mit Alphakanal. Ich kann mir auch keine Komponenten (wie z.b. Bitmap32) installieren. Wie schaffe ich es ein PNG-Bild aus einer ImageList mit Alphakanal zu benutzen (am besten als TImage)? |
AW: TBitmap mit Alpha-Channel
Moin...8-)
Welche Image List? TImageList oder TPngImageList? |
AW: TBitmap mit Alpha-Channel
Moin,
ich benutze TImageList. TPngImageList habe ich nicht |
AW: TBitmap mit Alpha-Channel
Zitat:
TPngImageList ist vererbt von TImageList. Sieht genauso aus, arbeitet sich gleich. Da wo du die ImageList eingebunden hast...einfach durch TPngImageList ersetzen. (OI) Die Liste ist explizit für PNG gemacht. Ich habe, genau auch wegen der Transparenz, alles auf PNG umgestellt. Der nächste Schritt für die Zukunft ist SVG...:zwinker: Die TPngImageList findest du im GetIt. oder: ![]() PS: Deine aktuelle Delphi Version ist schon interessant. -> Profil |
AW: TBitmap mit Alpha-Channel
Ok, installiere PngComponents nun. Da kann man mit TImageListe ja lange probieren :)
Danke für eure Hilfe. |
AW: TBitmap mit Alpha-Channel
hm, sehe den Wald vor lauter Bäumen nicht mehr. Wie kann ich nun ein Bild mit Alpha-Kanal aus einer TPngImageList in ein TImage kopieren/Zeichnen/Whatever, sodass die TImage-Komponente das Bild korrekt darstellt.
|
AW: TBitmap mit Alpha-Channel
Hänge doch mal ein PNG an...
|
AW: TBitmap mit Alpha-Channel
Vieleicht so?
Delphi-Quellcode:
Image1.Picture.Graphic := PngImageList1.Items[0].PngImage;
|
AW: TBitmap mit Alpha-Channel
Danke, das funktioniert. Hatte immer so in der Art probiert...
bitmap := TBitmap.Create; bitmap.PixelFormat := pf32bit; bitmap.AlphaFormat := afDefined; ImageList1.GetBitmap(0, bitmap); Image1.Canvas.Draw(0,0, bitmap); Finde das irgendwie unnötig kompliziert - wenn man aus der C# Ecke kommt *duck* Danke und Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz