Einzelnen Beitrag anzeigen

Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#13

AW: Wie erstellt man ein transparentes pf32bit-Bitmap?

  Alt 9. Nov 2013, 19:40
Danke für die vielen Antworten

Wenn du nicht unbedingt auf Bordmittel festgelegt bist: In den Elpack-Komponenten (sicherlich auch bei anderen Sammlungen ähnlich) kann man alle Gui-Controls (imageList, ....) mit PNG's arbeiten lassen. Dann sind solche problematischen Workarounds gar nicht mehr nötig.
auch die normale Imagelist nimmt problemlos PNG´s auf. Es muß nur die imagelist.colordepth auf cd32bit stehen. Problem ist halt eher die direkte Weiterverarbeitung
imagelist.getbitmap(...) geht die Transparenz flöten
Delphi-Quellcode:
imagelist.geticon(...)
bmp.assign(Icon)
ist alles i.O.

Wobei es mich dann allerdings wundert, dass das mit bmp.Assign(png); laut deiner Aussage funktioniert. Hast du auch ausprobiert, dass das mit allen Hintergrundfarben funktioniert? Nicht, dass es nur gerade zufällig so aussieht als würde es funktionieren, weil beim Entfernen des Alphakanals zufällig gegen die richtige Farbe geblendet wird...
Doch, das geht. Andersrum png.Assign(bmp); geht es nicht korrekt . siehe auch meine Frage hier

@Thom:
Danke, das schaue ich mir genauer an. Das ist das was ich brauche.

Es ist ja auch die Frage, ob manchmal sowas schon versteckt in Delphi integriert ist, sich neuere Delphis anders verhalten oder mehr mitbringen.
Grade so in versteckten Units wie graphutils verbergen sich oftmals nette Sachen und man kommt nie drauf.

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat