5,386
社区成员
发帖
与我相关
我的任务
分享
function LoadImage (var Image: TImage; DataSet: TDataSet; ImgFieldName: String): Boolean;
var f: TField;
stream: TMemoryStream;
jpg: TJpegImage;
begin
result := False;
Image.Picture.Assign(nil);
if not DataSet.Active then exit;
if DataSet.RecordCount<1 then exit;
f := DataSet.FindField(ImgFieldName);
if f = nil then exit;
if not f.IsBlob then exit;
if f.IsNull then exit;
stream := TMemoryStream.Create; try
TBlobField(f).SaveToStream(stream);
jpg := TJpegImage.Create; try
stream.Position := 0;
try
jpg.LoadFromStream(stream);
Image.Picture.Assign(jpg);
result := True;
except
MessageBox (0, PChar('该字段保存的不是JPG图片数据:'#13#10+ImgFieldName), '错误', MB_OK or MB_ICONSTOP);
end;
finally
jpg.Free;
end;
finally
stream.Free;
end;
end;