转贴: 读出、写入借助stream。 写入: var ms:tmemorystream; begin ms:=TmemoryStream.Create; ms.Loadfromfile(“1.jpg”); if ms.size>0 then begin ms.position:=0; (ADOqry.fieldbyname('dipicture') as Tblobfield).loadfromstream(ms); end ; end;读出: var ms:tstream; myjpg:tjpegImage; begin ms:=ADOqry.createblobstream(clientdataset1.fieldbyname('dipicture'),bmread); if ms.size>0 then begin ms.position:=0; myJpg:=tjpegimage.create; myJpg.loadFromstream(ms); Image1.Picture.assign(myjpg);//在Image1中显示出来 end; end;
可以想数据库中存如地址,如果直接存图片,也有很多中方法,这样应该可以的 var pic:Tpicture; begin pic:=Tpicture.create; if openpicdia.execute then begin pic.loadfromfile(openpicdia.filename); table1pic.value.assign(pic); pic.free; end; 应该就可以了!
to soaringsouth(栈桥捉鳖): ms.position:=0; --- 什么意思?to modoffsis(阿里阿多先生): 怎么没有图片的位置?
存到数据库 var pjpg:tjpegimage; pic:TMemoryStream; begin pjpg:=tjpegimage.Create; pjpg.LoadFromFile(F:\JPG.jpg); pic:=TMemoryStream.Create; pjpg.SaveToStream(pic); pic.Position:=0; TBlobField(dataset.FieldByName('Img')).LoadFromStream(pic); dataset.post; pic.Free; pjpg.free; end; 从数据库取出 var pjpg:tjpegimage; pic:TMemoryStream; begin pjpg:=tjpegimage.Create; pic:=TMemoryStream.Create; TBlobField(dataset.FieldByName('Img')).savetoStream(pic); pic.positon:=0; pjpeg.LoadFromStream(pic); image.graphi.bmp.assign(pjpeg); end;end;屡试不爽,可以接贴了!
to soaringsouth(栈桥捉鳖): ms.position:=0; --- 什么意思? //流位置,从0开始,保证完全存入。 to modoffsis(阿里阿多先生): 怎么没有图片的位置? //这段程序图象位置是程序所在路径下的1.jpg
读出、写入借助stream。
写入:
var
ms:tmemorystream;
begin
ms:=TmemoryStream.Create;
ms.Loadfromfile(“1.jpg”);
if ms.size>0 then
begin
ms.position:=0;
(ADOqry.fieldbyname('dipicture') as Tblobfield).loadfromstream(ms);
end ;
end;读出:
var
ms:tstream;
myjpg:tjpegImage;
begin
ms:=ADOqry.createblobstream(clientdataset1.fieldbyname('dipicture'),bmread);
if ms.size>0 then
begin
ms.position:=0;
myJpg:=tjpegimage.create;
myJpg.loadFromstream(ms);
Image1.Picture.assign(myjpg);//在Image1中显示出来
end;
end;
var pic:Tpicture;
begin
pic:=Tpicture.create;
if openpicdia.execute then
begin
pic.loadfromfile(openpicdia.filename);
table1pic.value.assign(pic);
pic.free;
end;
应该就可以了!
ms.position:=0; --- 什么意思?to modoffsis(阿里阿多先生):
怎么没有图片的位置?
var
pjpg:tjpegimage;
pic:TMemoryStream;
begin
pjpg:=tjpegimage.Create;
pjpg.LoadFromFile(F:\JPG.jpg);
pic:=TMemoryStream.Create;
pjpg.SaveToStream(pic);
pic.Position:=0;
TBlobField(dataset.FieldByName('Img')).LoadFromStream(pic);
dataset.post;
pic.Free;
pjpg.free;
end;
从数据库取出
var
pjpg:tjpegimage;
pic:TMemoryStream;
begin
pjpg:=tjpegimage.Create;
pic:=TMemoryStream.Create;
TBlobField(dataset.FieldByName('Img')).savetoStream(pic);
pic.positon:=0;
pjpeg.LoadFromStream(pic);
image.graphi.bmp.assign(pjpeg);
end;end;屡试不爽,可以接贴了!
ms.position:=0; --- 什么意思?
//流位置,从0开始,保证完全存入。
to modoffsis(阿里阿多先生):
怎么没有图片的位置?
//这段程序图象位置是程序所在路径下的1.jpg
这里也有说..