如何显示ACCESS的BLOB字段中的JPG图形?还有DBGRIDE中的换行问题(30分)

6

609394

Unregistered / Unconfirmed
GUEST, unregistred user!
我试过用DBIMAGE控件直接显示BLOB类型中的JPG图形总是出错,请问是否一定要用TIMAGE
才行?是否要用ASSIGN方法?具体如何做,请举例!
如果在DBGRID中想直接显示JPG又如何做,如想网格中文字象MOME一样自动换行又怎样做?
不想用第三方控件。谢谢!!
 
1)
jpeg := tjpegimage.Create;
stream := TMemoryStream.Create;
tblobfield(adophoto.FieldByName('ygphoto')).savetostream(stream);
Stream.Seek(0, soFromBeginning);
jpeg.loadfromstream(stream);
image1.Picture.Bitmap.Assign(jpeg);
mnuInsertPic.Enabled :=false;
mnuEditpic.Enabled :=true;
jpeg.Free;
stream.Free;
2:不知道
 
KervenLee,我照你的方法运行后出错
“project raised exception class EJPEG with message ;JPG error #52'.”
请问是什么原因?
 
tblobfield(adophoto.FieldByName('ygphoto')).savetofile('c:/1.jpg');
然后把图片装入Image1就可以了
 
twos!我照你的方法运行后还是出这外错,读到一个文件后打开看不到图象,但在ACCESS中
双击直接打开就可以,请问是什么原因?
 
你引入jpeg单元了吗?
你能保证你数据库中的是jpeg格式的数据吗?我的代码要求数据须为JPEG的!
 
图片肯定是JPEG,用的就是WIN自带的
我的代码是这样的:
uses jpeg
...
procedure TForm1.Button2Click(Sender: TObject);
begin
tblobfield(table1.FieldByName('image')).savetofile('c:/1.jpg');
image1.Picture.LoadFromFile('c:/1.jpg');
end;
但总是出错,我发觉 1.JPG比原本的文件要大几个K。
 
为什么要保存JPG啊,像我那样做一定是可以的啊
另外你的保存出来的JPEG可不可以查看,看看格式?是不是JPEG的?可能是BMP的啊!
 
KervenLee,我照你的也一样出错,保存的是JPEG,但不能查看
 
我在ACCESS中将JPG或BMP放进类型为“OLE对象”的字段,在SQL Explorer中打开显示
“Bitmap image is valid.“请问是否Delphi和ACCESS不能兼容的原故?可能这就是以
上问题的原因,应如何解决?
 
不可能吧?显示出错?
 
我有一些尺寸各异的图片,用DBImage显示。如何使DBImage显示出全图,而又不变形?
 
顶部