Hallo,
für ein aktuelles Projekt soll ich das Bild einer Kamera, dass ich in 12bit Helligkeitswerten abrufe, als 16bit PNG abspeichern.
Versucht habe ich das Ganze mit PNGImage. Beim Speichern der Datei bekomme ich allerdings eine
Exception. Folgendes klappt schon nicht:
Code:
PNG := tPNGobject.CreateBlank(COLOR_GRAYSCALE, 16, 1024, 512);
try
for Y := 0 to 511 do
begin
for X := 0 to 1023 do
begin
PNG.Pixels[X, Y] := 1;
end;
end;
PNG.SaveToFile('test.png');
finally
PNG.free;
end;
Ändere ich die BitDepth im Constructor von 16 in 8 läuft alles wie gewünscht.
CodeZeilen wie:
Code:
if Bitdepth = 16 then Bitdepth := 8;
machen mir irgendwie auch wenig Hoffnung, dass die 16 Bit Grauwertgeschichte hiermit klappt.
Vielleicht kennt jemand eine Lösung des Problems oder eine passende Alternative.