着急——如何将Vfp数据库中的Ole图形保存为正常的BMP文件?(100分)

  • 主题发起人 主题发起人 心驿
  • 开始时间 开始时间

心驿

Unregistered / Unconfirmed
GUEST, unregistred user!

有一个Vfp的数据库,其中有一个字段保存了Ole图形,我希望能够将这些图形保存为
正常的图形文件(.bmp),程序如下:
其中:tblPic 为数据库的TTable对象
OlePic 为TOleContainer对象。

procedure TForm1.BtnSavePicClick(Sender: TObject);
var
BlobStream: TBlobStream;
fPic: TBlobField;
begin
tblPic.First;
fPic := TBlobField( tblPic.FieldByName('Img'));
BlobStream := TBlobStream.Create( fPic,bmRead );
try
BlobStream.Position := 0;
OlePic.LoadFromStream( BlobStream );
OlePic.SaveAsDocument('test.bmp');
finally
BlobStream.Free;
end;
end;

运行的时候,OlePic.LoadFromStream(BlobStream)出错,报告“流格式不正确”。

请问各位专家,我该怎样做?谢谢了!
 
在Vfp中,使用Ole容器可以看到正常的图形显示,为什么在Delphi中就不行呢?

诸位专家,烦请尽快给予解答。谢谢了!!
 

为什么大家都不回答呢???!!!
 
我想:这一句
BlobStream := TBlobStream.Create( fPic,bmRead );
仅仅是创建了Blobstream的一个实例,但Blobstream中并没有内容,当然在LoadFromstream时
出错。
是否可以借助Olecontainer来转换一下,估计能行。
 
请结束或继续
 
To zyy04:
恳请能够继续保留一段时间。谢谢!
 
OLE添加了一些辅助信息,保存不成正常的文件,我也在为此问题苦恼!
 
后退
顶部