Esto es de un programita que ya tiene unos años, adapta la parte que te sirva de este procedure:
Código Delphi
[-]
procedure TFarticulos.btVerImagenClick(Sender: TObject);
var
CursorActual : TCursor;
S : TStream;
begin
inherited;
S := nil;
imgArticulo.Picture.Graphic := nil;
try
if not DMimagenes.BDimagenes.Connected then
begin
try
CursorActual := Screen.Cursor;
Screen.Cursor := crHourGlass;
ConectaBDimagen;
finally
Screen.Cursor := CursorActual;
end;
end;
DMimagenes.QRimagen.Close;
DMimagenes.QRimagen.Params[0].AsInteger := DMarticulos.QRarticulosCODIGO.AsInteger;
DMimagenes.QRimagen.Open;
except
On E:exception do
Error( 8, 'artículo: '+DMarticulos.QRarticulosCODIGO.AsString );
end;
if not (DMimagenes.QRimagenIMAGEN.IsNull) then
begin
try
S := (DMimagenes.QRimagen).CreateBlobStream(DSimagenes.DataSet.FieldByName('IMAGEN') as TBlobField, bmRead);
imgArticulo.Picture.Graphic := TJpegImage.Create;
imgArticulo.Picture.Graphic.LoadFromStream( S );
S.Free;
except
S.Free;
imgArticulo.Picture.Graphic := nil;
imgArticulo.Picture.Assign( imgNoDisponible.Picture );
end;
end
else
imgArticulo.Picture.Assign( imgNoDisponible.Picture );
end;