AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[gelöst] Transparenz in TListView übernehmen

Ein Thema von Schwedenbitter · begonnen am 13. Okt 2017 · letzter Beitrag vom 13. Okt 2017
Antwort Antwort
Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#1

AW: Transparenz in TListView übernehmen

  Alt 13. Okt 2017, 15:03
...
Völlig richtig. Die PNGs werden nach Erstellung in TBitmaps umgewandelt. Das normale Assign hat hier einen Bug, dass ein Alphablending zu schwarz stattfindet, halbtransparente Bereiche werden also dunkler. Daher kopiere ich zusätzlich (Alphablending funktioniert ja) die Canvasses (CopyRect). TPNGImage unterscheidet sich von TBitmap vor allem darin, dass Scanline und Alphascanline getrennt werden.
...
Danke für den Code. Ich nutze PNG gerade nur, weil die Bilder dann weniger Speicher belegen als Bitmap und man so den Code samt Sourcen besser teilen kann.

...
Habe das jetzt so gemacht, wie ich das beschrieben habe und es funktioniert. Lösung ist angehängt. Lösung für replace weiß ich derzeit nicht, musst du vielleicht lösen, indem du stattdessen die ImageIndexes anpasst.
War gar nicht nötig.
Ich habe mir die Quellen nochmal angesehen. Dort gibt es eine Möglichkeit, neue Bitmaps inkl. Maskenfarbe mit ImageList1.InsertMasked(Idx, aBMP, clTrans); einzufügen. Man kann also entweder vorher das alte Bild löschen und das neue an dessen Position setzen oder man setzt erst das neue Bild dort rein und löscht das (dann) folgende Bild - letzteres schont wohl die Resourcen.

Ich habe den Code nebst Ersetzungsbild nochmal zum Testen angehängt. Danke für Deine ausführliche Hilfe!
Angehängte Dateien
Dateityp: zip ListView.Transparent.2.zip (106,3 KB, 6x aufgerufen)
Alex Winzer
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:18 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 by Thomas Breitkreuz