Was ich wollte habe ich ja hoffentlich soweit verständlich gesagt ganz am Anfang. Dachte ich.
Einen Bereich aus einer PNG kopieren und speichern. Genau das macht mein Beispiel und zwar nicht als Bitmap sondern wieder als PNG mit Transparenz.
Jedenfalls hat mein erstes "Studium" der Zusammenhänge ergeben, das ein optisch perfektes PNG mit transparenten Hintergrund oft nicht so richtig transparent ist, da sind mitunter noch weitere Layerangaben versteckt, die bloss nicht angezeigt werden.
Das nennt sich Alphakanal. Der legt fest, "wie transparent" ein bestimmter Bereich ist. Du kannst also auch einen Bereich der PNG fast komplett transparent machen, einen anderen aber gar nicht transparent.
Bitmaps kennen auch einen Alphakanal, aber in der
VCL ist der nicht implementiert. Dort wird eine transparente Farbe verwendet, so dass Halbtransparenzen usw. nicht möglich sind.
Deshalb habe ich ja auch vorgeschlagen, dass du, wie in meinem Beispiel, die FMX-Units dafür verwendest. Dann brauchst du keine zusätzlichen Bibliotheken, kannst also mit Bordmitteln gut damit arbeiten. Anzeigen kannst du in der
VCL auch PNGs gut. Nur müssen es dafür halt weiter PNGs sein und keine konvertierten Bitmaps.