一个图片存在Sybase数据库的一个Image字段中(二进制码),如何将其导出到word中并正确显示图片?(PB或VB等都行)(200分)

  • 主题发起人 主题发起人 snjat
  • 开始时间 开始时间
S

snjat

Unregistered / Unconfirmed
GUEST, unregistred user!
一个图片存在Sybase数据库的一个Image字段中(二进制码),如何将其导出到word中并正确显示图片?(PB或VB等都行)
 
//保存JPG图片到SQL数据库
procedure TMenuForm.FootImageClick(Sender: TObject);
var
tempStream:TMemoryStream;
JpgPic:TJpegImage;
S:String;
begin
if FootImage.Picture.Width=0 then
begin
if OpenDialog.Execute then
begin
S:=OpenDialog.FileName;
S:=UpperCase(Copy(S,Length(S)-2,3));
if S='JPG' then
begin
try
JpgPic:=TJpegImage.Create;
tempStream:=TMemoryStream.Create;
tempStream.Clear;
a.Dataset.Edit;
JpgPic.LoadFromFile(OpenDialog.FileName);
FootImage.Picture.bitmap.assign(JpgPic);
JpgPic.SaveToStream(tempStream);
TBlobField(a.Dataset.FieldByName('图象')).LoadFromStream(tempStream) ;
a.Dataset.Post;
finally
JpgPic.Free;
tempStream.Free;
end;
end;
end;
end;
end;

//显示SQL数据库中的JPG图片
procedure TMenuForm.ShowImage;
var
MyJpeg:TJpegImage;
MyStm:TMemoryStream;
begin
a.GetSelRow;

if not a.DataSet.FieldByName('图象').IsNull then
begin
try
MyJpeg:=TJpegImage.Create;
MyStm:=TMemoryStream.Create;
MyStm.Clear;
TBlobField(a.Dataset.FieldByName('图象')).SaveToStream(MyStm);
MyStm.Position:=0;
MyJpeg.LoadFromStream(MyStm);
FootImage.Picture.BitMap.Assign(MyJpeg);
finally
MyJpeg.Free;
MyStm.Free;
end;
end
else
begin
if FootImage.Picture<>Nil then
begin
FootImage.Picture.Assign(Nil);
end;
end;
end;
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部