Hier wird ja ein TPNGImage an ein TBitmap zugewiesen und Jenes kennt natürlich nur Eigenschaften von TBitmaps.
Das funktioniert schon wie es soll.
TBitmap.Assign kennt zwar kein
TPngImage, aber dann leitet es das
Assign eben an das
inherited weiter. Im
TPersistent wird es dann an das
AssignTo delegiert, das in
TPngImage dann die Konvertierung in
TBitmap durchführt.