Cita:
Empezado por Neftali [Germán.Estévez]
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;
|
estoy desarrollando con multidevise y complicado en windows 64bit tengo Embarcadero® RAD Studio 11 Versión 28.0.45591.0253 la cuestión que este mismo código me sirvió en una aplicación que estaba haciendo con android y fue adaptado en este moemnto para recuperar la imagen directamente del streams, también tengo otro problema si agrego el JPEG (ME DA ERROR) en los uses por lo que estoy utilizando el
Código Delphi
[-]Vcl.Imaging.jpeg, FMX.Surfaces;
la otra cuestión es que no quisiera guardar la imagen en el PC del Cliente además que aunque lo haga no voy a poder guardarla o cargarla
Código Delphi
[-]ImageFotoReg2.Bitmap.LoadFromFile('r:\OUT.jpg');
ya que me pide el JPEG en lo uses. entonces caigo en el mismo circulo. la idea es que pueda guardar la imagen el JPG en la base de dato