Ver Mensaje Individual
  #3  
Antiguo 23-01-2023
giantonti1801 giantonti1801 is offline
Miembro
 
Registrado: oct 2022
Posts: 143
Reputación: 2
giantonti1801 Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
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');

    // Grabarla en disco (JPG)
    MS1.SaveToFile('r:\out.jpg');

    // Cargarla en otro componente
    ImageFotoReg2.Bitmap.LoadFromFile('r:\OUT.jpg');

  finally
    MS1.Free;
    Surf.Free;
  end;
end;

procedure TForm3.FormShow(Sender: TObject);
begin
  // cargar la imagen de disco (BMP)
  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
Responder Con Cita