怎样将数据库里存储的图片显示出来?(100)

S

shijies

Unregistered / Unconfirmed
GUEST, unregistred user!
以BLOB类型在数据库里存储了图片,请问如何将图片显示出来?要先分类?(bmp、jpg或jpeg)需要添加那种控件?(dbimage或image)
 
//显示数据库JPG图片字段procedure THC_DM.showimage(image1:timage; imagers:tadoquery; imagefield: string);Var Ms:TStringStream; jpg:Tjpegimage;begin if imagers.IsEmpty then begin image1.Picture.Graphic :=nil; exit; end; if TBlobField(imagers.FieldByName(imagefield)).BlobSize >0 then begin Ms:=TstringStream.Create(''); TBlobField(imagers.FieldByName(imagefield)).SaveToStream(Ms); Ms.Position :=0; jpg:=tjpegimage.Create ; Jpg.LoadFromStream(Ms); image1.Picture.Assign(Jpg); Ms.Free; jpg.free; end else image1.Picture.Graphic :=nil;end;//JPG图像保存到数据库procedure thc_dm.saveimage(filename:string; imagers:tadoquery; imagefield: string);var Ms:TmemoryStream; jpg:Tjpegimage;begin ms:=TmemoryStream.Create; jpg:=tjpegimage.Create ; Jpg.LoadFromFile(appdir+filename); Jpg.SaveToStream(Ms) ; Ms.Position :=0; imagers.edit; TBlobField(imagers.FieldByName(imagefield)).LoadFromStream(Ms); imagers.Post; Ms.Free ; jpg.free;end;image控件
 
再有放在窗体上image控件的大小与显示的jpeg文件不一样,请问怎么处理?数据库中可能还有bmp文件,bmp文件和jpeg文件需要分类处理?或者干脆用olecontainer控件显示图片?
 
如果分类处理bmp文件和jpeg文件,需要用不同的显示控件,感觉有些麻烦,olecontainer控件显示图片更好?
 

Similar threads

D
回复
0
查看
680
DelphiTeacher的专栏
D
D
回复
0
查看
666
DelphiTeacher的专栏
D
顶部