procedure Tform1.selectimageClick(Sender: TObject);
//选择图像 begin if openpicturedialog1.Execute
then image1.Picture.LoadFromFile(openpicturedialog1.FileName
); end; procedure Tform1.savetodbClick(Sender:
TObject); //保存图像到数据库 var ext:string; begin if
image1.picture.Graphic <> nil then
//避免image1中无图像保存出错 begin adotable1.Edit
; adotable1.FieldByName('myimage').Assign(image1.Picture.Graphic); //以下记录保存到数据库的图像格式 ext:=extractfileext(openpicturedialog1.FileName
); //取出文件扩展名 if uppercase(ext) = '.BMP'
THEN adotable1.FieldByName('isbmp').VALUE := 1 //BMP型图像数据 ELSE IF
(UPPERCASE(EXT) = '.JPEG') OR (UPPERCASE(EXT) = '.JPG')
THEN adotable1.FieldByName('isbmp').VALUE := 0;
//JPEG型图像数据 ADOTABLE1.Post
; end; end; 2. 图像数据的读取及显示
procedure Tform1.ADOTable1AfterScroll(DataSet: TDataSet);
//ADOTable1的AfterScroll事件方法程序 var jpegimage:tjpegimage; begin image1.Picture.Graphic
:=nil; //下边BMP、JPEG两种图像数据必需分别处理 if
adotable1.fieldbyname('isbmp').Asstring = '1' then
//BMP型图像数据 image1.Picture.bitmap.Assign(adotable1.fieldbyname('myimage')) //上边语句中的bitmap不能为graphic,否则会出错 else
if adotable1.fieldbyname('isbmp').asstring = '0' then
//JPEG型图像数据 begin //begin2 jpegimage := tjpegimage.Create ;
//通过jpegimage将图像显示在image1,否则会出错 try jpegimage.Assign(adotable1.fieldbyname('myimage')); image1.Picture.Graphic
:=jpegimage; finally jpegimage.Free ; end; //end
try end; //end
begin2 end; 注:别忘了在单元文件接口部分的uses语句中添入JPEG单元引用。