Cita:
Empezado por giantonti1801
...pero ahora la estoy implementando en windows 64BIt y me da error de 'Stream Write Error'
|
El código siguiente funciona correctamente y guarda la imagen correctamente es disco y la muestra en otro control de imagen.
Está basado en el tuyo.
Lo he probado correctamente en Delphi 11.2.
deberías explicar en qué versión estás trabajando. Y en todo caso debuggar en Windows para ver la línea donde te falla.
Código Delphi
[-]
uses
FMX.Surfaces;
procedure TForm3.Button1Click(Sender: TObject);
var
NewBitmap: TBitmap;
MS1: TMemoryStream;
Surf: TBitmapSurface;
JpgQuality: TBitmapCodecSaveParams;
begin
NewBitmap := ImageFotoReg.bitmap;
MS1 := TMemoryStream.Create;
Surf := TBitmapSurface.Create;
try
MS1.Position := 0;
Surf.Assign(NewBitmap);
JpgQuality.Quality := 30;
if not TBitmapCodecManager.SaveToStream(MS1, Surf, '.jpg', @JpgQuality) then
raise EBitmapSavingFailed.Create('Error saving Bitmap to jpg');
MS1.SaveToFile('r:\out.jpg');
ImageFotoReg2.Bitmap.LoadFromFile('r:\OUT.jpg');
finally
MS1.Free;
Surf.Free;
end;
end;
procedure TForm3.FormShow(Sender: TObject);
begin
ImageFotoReg.Bitmap.LoadFromFile('r:\IN.bmp');
end;