Einzelnen Beitrag anzeigen

striderx

Registriert seit: 11. Feb 2007
Ort: Bergisch Gladbach
207 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: WICImage - out of memory

  Alt 7. Mär 2021, 22:45
Schon Mal probiert statt des WIC Bildes einfach eine
Linie auf diesen Bitmap Canvas zu zeichnen um zu testen,
dass so große Bitmaps überhaupt funktionieren?
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.

Delphi-Quellcode:
procedure TdlgMain.Button4Click(Sender: TObject);

var
  Ratio: Double;
  WICImage: tWICImage;

begin
  WICImage := tWICImage.Create;
  try
    WICImage.LoadFromFile('F:\Test\ResizeTest\DSF1789.TIF');
  except
    on E:Exception do begin
       ShowMsg(E.Message, '', mb_OK, mb_IconError);
       WICImage.Free;
       Exit;
    end;
  end;

  if Assigned(BM) then begin
     BM.Assign(WICImage);
  end;
  WICImage.Free;

  iTest2.Picture := Nil;
  if iTest2.Height < iTest2.Width then Ratio := iTest2.Height / BM.Height
  else Ratio := iTest2.Width / BM.Width;
  try
    ScaleImage(BM, iTest2.Picture.Bitmap, Ratio);
  except
    Exit;
  end;
  iTest.Repaint;
end;
  Mit Zitat antworten Zitat