Vorm PNGList.Add mal ein BMPImage.SaveToFile, bzw. in einem TImage anzeigen ... ist da das Bild auch noch da?
Ich hatte hier den Fall, dass es beim Zeuchnen von PNGs auf ein TBitmap manchmal ein weißes Bild raus kam, aber bei mir ist es ein multithreadingproblemchen, welches eigentlich nicht existieren sollte.
Die TImageList der
VCL kann auch kein PNG, außer es wurde vorher in ein Bitmap konvertiert, um es ihr zu geben.
was sie genau kann, siehe
ImageList_Create und
ImageList_Add der comctl32.dll, welches ausschließlich ein HBITMAP haben möchte.
Für Linux wurde im Cylix mal ein eignes libcomctl32.borland.so verwendet
und die TImageList des FMX ist was komplett Anderes, die kann auch nativ PNG.
ACHTUNG:
Wenn man es genau nimmt, hat die
VCL-ImageList intern nur ein einziges Bitmap, auf dem alle Einzelbilder draufgemalt sind.
Das heißt dass auch alle Bilder auch gemeinsam das selbe Setting z.B. für Transparenzen/Alphakanal nutzen (abgesehn von der indivituellen Transparenzfarbe, beim Ausschneiden)