
Zitat von
OldGrumpy:
Leider gibts da aber nix zum Manipulieren bzw. Konvertieren zwischen verschiedenen Farbtiefen...
Hi,
mal ungetestete zwei Tipps/Möglichkeiten. Die Information wieviele
Bit pro Pixel verwendet werden und wie welcher Farbtyp verwendet wird, kannst du durchaus auslesen (und sogar verändern).
Da findest du die Eigenschaft TPngObect.Header.Bitdepth bzw. TPngObect.Header.Colortype. Das
setzen dürfte allerdings wenig bringen (da hier kein Setter verwendet wird, dürfte das
Setzen eher zu Problemen führen). Kannst es aber ja mal damit versuchen.
Ansonsten kannst du hier auf jeden Fall schon mal die PNGs filtern, die keine 24
Bit Farbtiefe (8
Bit / Pixel +
RGB). Diese kannst du dann einem Bitmap zuweisen, das Pixelformat der Bitmap auf 24
Bit setzen und aus dieser Bitmap ein neues TPngObject erzeugen. Ist nicht wirklich elegant, aber sollte funktionieren.
Gruß Der Unwissende