谁有向表中存、取图片内容(不是存文件名)的好方法,谢谢 请问,谁有向表中存、取图片内容(不是存文件名)的好方法,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 参考http://expert.csdn.net/Expert/topic/1205/1205607.xml?temp=.3451807 先将图片内容存为FILESTREAM,然后再将FILESTREAM存入字段,哦棵, 保存: ADOTable1.Append; TBlobField(ADOTable1.FieldByName('image')).LoadFromFile('C:\WINNT\Web\Wallpaper\Windows 2000.jpg'); ADOTable1.Post;取出var Jpg:TJPEGImage; Buf:TMemoryStream;begin Jpg:=TJPEGImage.Create; Buf:=TMemoryStream.Create; TBlobField(ADOTable1.FieldByName('image')).SaveToStream(Buf); Buf.Position:=0; Jpg.LoadFromStream(Buf); Image1.Picture.Assign(jpg); Buf.Free; Jpg.Free; 同意楼上意见,有些老bmp图片文件头有一定偏移量。如果这样注意在流中指定读取的起始点。这是bmp的:procedure TForm1.Button1Click(Sender: TObject);var MyJPEG : TJPEGImage; MS: TMemoryStream ;beginMyJPEG:=TJPEGImage.Create;try MS:=TMemoryStream.Create; //MyJPEG.Assign(Image1.Picture.Graphic); //MyJPEG.SaveToStream(MS); self.Image1.Picture.Bitmap.SaveToStream(MS); MS.Position:=0; ADOQuery1.Edit ; //self.ADOQuery1.FieldByName('ID').Value :=1; //self.ADOQuery1.FieldByName('Name').AsString := 'zyw'; TBlobField(ADOQuery1.FieldByName('Photo')).LoadFromStream(MS); ADOQuery1.Post; messagebox(getactivewindow(),'图像保存完毕!','保存',mb_ok); MS.Free;finally MyJPEG.free;end;end;procedure TForm1.Button2Click(Sender: TObject);var MyJPEG : TJPEGImage; MS: TMemoryStream;begin MS:=TMemoryStream.Create; MyJPEG:=TJPEGImage.Create; //ADOQuery1.Requery; try TBlobField(ADOQuery1.FieldByName('Photo')).SaveToStream(MS); MS.Position:=0; //MyJPEG.LoadFromStream(MS); //Image1.Picture.Bitmap.Assign(MyJPEG); self.Image1.Picture.Bitmap.LoadFromStream(MS); finally MS.Free; MyJPEG.Free; end;内容有点乱,自己改一下。大致是这个意思,如果是jpg别忘了在单元中加如Jpeg 在http://www.codestudy.net/book/list.asp?id=522上有个delphi中文手册里面有关于流的操作好像是在20章。www.delphibbs.com这个月里有一片写流的慢慢找吧.^-^ 内存泄漏,附源码,分数不多,求帮助 四年前,在这里得到了大家的祝福;四年后,准备结婚了,和老婆参加一项“准夫妇”比赛,已进前20,期待着您在网上为我们投票,谢谢大家! delphi学习-delphi项目合作群 wks 急!!小妹在毕业设计方面的问题(如何在数据库中存取word文档),请各路高人指点一二! 报表的一个简单问题 高手请进(最好是管理人员)!!! 急,在线等待,winexec的问题 在delphi中如何快速开发服务器/客户端程序 Delphi开发COM 请问开发这样一个系统要多少钱? 录入的问题,如何将上一条记录的内容拷贝到新纪录中来待修改?
http://expert.csdn.net/Expert/topic/1205/1205607.xml?temp=.3451807
ADOTable1.Append;
TBlobField(ADOTable1.FieldByName('image')).LoadFromFile('C:\WINNT\Web\Wallpaper\Windows 2000.jpg');
ADOTable1.Post;取出
var
Jpg:TJPEGImage;
Buf:TMemoryStream;
begin
Jpg:=TJPEGImage.Create; Buf:=TMemoryStream.Create;
TBlobField(ADOTable1.FieldByName('image')).SaveToStream(Buf);
Buf.Position:=0;
Jpg.LoadFromStream(Buf);
Image1.Picture.Assign(jpg); Buf.Free;
Jpg.Free;
这是bmp的:
procedure TForm1.Button1Click(Sender: TObject);
var
MyJPEG : TJPEGImage;
MS: TMemoryStream ;
begin
MyJPEG:=TJPEGImage.Create;
try
MS:=TMemoryStream.Create;
//MyJPEG.Assign(Image1.Picture.Graphic);
//MyJPEG.SaveToStream(MS);
self.Image1.Picture.Bitmap.SaveToStream(MS);
MS.Position:=0;
ADOQuery1.Edit ;
//self.ADOQuery1.FieldByName('ID').Value :=1;
//self.ADOQuery1.FieldByName('Name').AsString := 'zyw';
TBlobField(ADOQuery1.FieldByName('Photo')).LoadFromStream(MS);
ADOQuery1.Post;
messagebox(getactivewindow(),'图像保存完毕!','保存',mb_ok);
MS.Free;
finally
MyJPEG.free;
end;
end;procedure TForm1.Button2Click(Sender: TObject);
var
MyJPEG : TJPEGImage;
MS: TMemoryStream;
begin
MS:=TMemoryStream.Create;
MyJPEG:=TJPEGImage.Create;
//ADOQuery1.Requery;
try
TBlobField(ADOQuery1.FieldByName('Photo')).SaveToStream(MS);
MS.Position:=0;
//MyJPEG.LoadFromStream(MS);
//Image1.Picture.Bitmap.Assign(MyJPEG);
self.Image1.Picture.Bitmap.LoadFromStream(MS);
finally
MS.Free;
MyJPEG.Free;
end;
内容有点乱,自己改一下。大致是这个意思,如果是jpg别忘了在单元中加如Jpeg