Einzelnen Beitrag anzeigen

PeterPanino

Registriert seit: 4. Sep 2004
1.465 Beiträge
 
Delphi 10.4 Sydney
 
#1

Icons "fransen" mit der Zeit aus?

  Alt 1. Mär 2016, 02:03
Hallo!

Ich verwende eine 16x16 TImageList für die Menü-Icons, mit DrawingStyle = dsTransparent, da ich ausschließlich 32Bit-PNG-Images mit AlphaChannel-Transparenz verwende. Zum Bearbeiten verwende ich den CnWizards TImageList Property-Editor, in dem die Option "Use XP Style Image with Alpha channel" aktiviert ist (was wohl nichts anderes ist als dass die Property DrawingStyle intern auf dsTransparent gesetzt wird?).

Nun haben sich in einer ImageList bis zu 90 Images angesammelt. Dabei ist mir ein merkwürdiger Effekt aufgefallen: Viele der Icons verschlechtern mit der Zeit (nach vielen Hinzufügungen, Ersetzungen und Kompilierungen) ihre Qualität, kriegen fransige Ränder, werden "blurred" und unansehlich.

Hat jemand von euch schon mal diesen Effekt beobachtet? Bei einer Google-Suche habe ich bemerkt, dass andere Leute auch schon dieses Problem hatten, aber nirgends war ein Hinweis auf die Ursache zu finden.

Könnte es sein, dass es durch häufiges Hinzufügen, Ersetzen und Löschen von Icons innerhalb der ImageList zu Bit-Verschiebungen innerhalb der ImageList kommt?

EDIT:

Ich habe jetzt die Probe aufs Exempel gemacht:

1. Die ImageList mit Edit -> Copy in die Zwischenablage kopiert und in die LINKE Textvergleichs-Seite von Beyond Compare eingefügt.

2. Die ImageList im Property-Editor geöffnet und einfach mit OK wieder geschlossen, danach gespeichert.

3. Danach nochmals die ImageList mit Edit -> Copy in die Zwischenablage kopiert und in die RECHTE Textvergleichs-Seite von Beyond Compare eingefügt.

4. In Beyond Compare war jetzt eine Differenz von einem Zeichen zwischen den beiden Versionen zu sehen (s. angehängte Grafik)!

Je öfter man die ImageList also bearbeitet und abspeichert, desto mehr Bitfehler ergeben und summieren sich!!!

Könnt ihr bitte für euch das mal ausprobieren und den Versuch wiederholen? Evtl. müsst ihr eine ImageList mit vielen Images (etwa 90) nehmen und sie öfters ohne etwas zu ändern abspeichern.

Leider kann ich meine ImageList nicht hochladen, da die Bilder Copyright-geschützt sind.

Das sind die Eigenschaften der ImageList:

Code:
object ilBookmarks_Flat: TImageList
  ColorDepth = cd32Bit
  DrawingStyle = dsTransparent
Miniaturansicht angehängter Grafiken
vv7k6ye.png   y00o9gh.png  

Geändert von PeterPanino ( 1. Mär 2016 um 02:52 Uhr)
  Mit Zitat antworten Zitat