Ver Mensaje Individual
  #2  
Antiguo 23-11-2022
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.735
Reputación: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Yo cargo así las imágenes con el siguiente procedimiento.
Supongo que en tu caso Formato debería ser 'BMP'.
Lo importante es que creo un bitmap para leer el stream. Luego asigno ese Bitmap a la imagen.

Código Delphi [-]
/// Imagen es un componente tipo TImage en el formulario.
/// Stream es un stream que leo de un campo BLOB que contiene una imagen.
/// Formato es el tipo de codificacion de la imagen.

procedure TDMMain.CargarImagenDeStream(Imagen: TImage; Stream: TStream; Formato: string);
var
  BMP : TBitMap;
  JPG : TJpegImage;
  GIF : TGIFImage;
  PNG : TPNGGraphic;
begin
  if Formato = 'BMP' then
  begin
     BMP := TBitmap.Create;
     try
        BMP.LoadFromStream(Stream);
        Imagen.Picture.Assign(BMP);
     finally
        BMP.Free;
     end;
  end
  else
  if Formato = 'JPG' then
  begin
     JPG := TJpegImage.Create;
     try
        JPG.LoadFromStream(Stream);

        BMP := TBitmap.Create;
        try
           BMP.Assign(JPG);
           Imagen.Picture.Assign(BMP);
        finally
           BMP.Free;
        end;
     finally
        JPG.Free;
     end;
  end
  else
  if Formato = 'GIF' then
  begin
     GIF := TGIFImage.Create;
     try
        GIF.LoadFromStream(Stream);
        Imagen.Picture.Assign(GIF);
     finally
        GIF.Free;
     end;
  end
  else
  if Formato = 'PNG' then
  begin
     PNG := TPNGGraphic.Create;
     try
        PNG.LoadFromStream(Stream);
        Imagen.Picture.Assign(PNG);
     finally
        PNG.Free;
     end;
  end;
end;
Responder Con Cita