Closed PrzemWis closed 3 years ago
//Proposed solution from the person kAzek of the forum 4programmers.net
procedure TImageFXGR32.SaveToStream(stream : TStream; imgFormat : TImageFormat = ifJPG); var graf : TGraphic; begin stream.Size:= 0; try case imgFormat of ifBMP: graf:= Self.AsBitmap; ifJPG: graf:= Self.AsJPG; ifPNG: graf:= Self.AsPNG; ifGIF: graf:= Self.AsGIF; end; graf.SaveToStream(stream); finally graf.Free; end; end;
Thanks for report it. Now is solved.
procedure TForm1.Button1Click(Sender: TObject); var ImageFX : IImageFX; ms1,ms2: TMemoryStream; begin try ms1:= TMemoryStream.Create; ms2:= TMemoryStream.Create;
ms1.LoadFromFile('papagayo.jpg'); ms1.Position:=0;
ImageFX := TImageFXGR32.Create; ImageFX.LoadFromStream(ms1); ImageFX.Resize(400, 300, rmStretch, [rfNoMagnify], rsNearest); ImageFX.SaveToStream(ms2, ifJPG);
ms2.Position:=0; ms2.SaveToFile('out.jpg');
finally ms1.Free; ms2.Free; end;
end;
procedure TForm1.FormCreate(Sender: TObject); begin ReportMemoryLeaksOnShutdown:=true; end;