Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: PNG und Canvas via BMP und anderes

  Alt 11. Apr 2024, 13:08
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.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat