Forum: Multimedia
by striderx,
8. Mär 2021
Nach laaaaaangem Suchen habe ich wohl die Lösung gefunden: Man muss bei der Bitmap noch mal explizit des Pixelformat setzen:
if Assigned(BM) then begin
BM.Width := SourceWidth;
BM.Height := SourceHeight;
BM.Canvas.Draw(0, 0, WICImage);
BM.PixelFormat := pf24bit; <-- mus nach dem Draw erfolgen
end;
Forum: Multimedia
by striderx,
7. Mär 2021
Habe ich gerade mit einer 10.000 x 10.000 Bitmap probiert: Kein Problem.
Wenn ich die nachstehende Version mit dem guten alten ScaleImage verwende, klappt es auch ohne Probleme.
procedure TdlgMain.Button4Click(Sender: TObject);
var
Ratio: Double;
WICImage: tWICImage;
Forum: Multimedia
by striderx,
7. Mär 2021
Ich habe die Aufgabenstellung, Bild-Dateien zu laden, in einem tImage mit hoher Qualität skaliert anzuzeigen und des Weiteren in einer Bitmap zu Weiterbearbeitung zu speichern.
Grundsätzlich klappt das auch prima. Bei einer größeren Test-Datei (TIF, ca. 280 MB, 11.000 x 8.700 Pixel) bekomme ich einen eOutOfRessources Fehler, wenn ich die unten markierte Zeile aktiv lasse. Kommentiere ich sie...