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
[-]
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;