从数据库中读取图象显示不完全 急盼回复(172分)

  • 主题发起人 qiangyao
  • 开始时间
Q

qiangyao

Unregistered / Unconfirmed
GUEST, unregistred user!
我已经向sql server2000 image字段写入图象(jpg格式),大小为7寸照片。
我用vb能将其完全显示(说明写的没错)
但用delphi5 的Timage控件确只能显示很少的一部分5%,怎么回事。急盼回复:
代码如下
procedure TForm1.ShowBtnClick(Sender: TObject);
var
JP: TJPEGImage;
bs: TBlobStream;
begin
query1.close;
query1.sql.text:='select * from aaa';
query1.open;
bs := TBlobStream.Create((query1.FieldByName('photo') as TBlobField), bmRead);
jp := TJPEGImage.Create;
jp.LoadFromStream(bs);
Image1.Picture.Assign(jp);
bs.Free;
jp.Free;
end;
 
Image1.stretch:=True;
 
Image1.stretch:=True;不管用
 
你的BDE参数关于BLOB SIZE设的太低,默认为32,改为足够大,例如10240
同样的还有BLOB TO CACHE,改为2048
具体在BDE设置中,你打开BDE下你使用的别名,然后这两个参数都在那里,
更灵活的办法是在程序中动态改变,注意,如果要用动态方法则必须写全你需要用的
全部信息,例如别名,等等!我只是写出一部分
with Database1.Params do
begin
.......
Add('BLOB SIZE=10240');
Add('BLOB TO CACHE=2048');
.......
end;
 
谢谢你only you
 
对啊,不如用ADO了,没BDE那么烦。
 
呵呵。bde是可以设。ado好一些。
 
多人接受答案了。
 
顶部