人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

Delphi圖像存取另類處理方案

Delphi圖像存取另類處理方案

更新時(shí)間:2022-08-31 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

在《Delphi存取圖像完整解決方案》一文中,筆者提供了一種DELPHI存取JPEG、BMP圖像到數(shù)據(jù)庫的解決方案,雖然它適用于ACCESS和SQL數(shù)據(jù)庫,但它并不適用于所有數(shù)據(jù)庫(比如PARADOX數(shù)據(jù)庫中的GRAPHIC圖像字段就不能采用該方法存取圖像數(shù)據(jù)),下文將介紹DELPHI利用ASSIGN方法存取JPEG、BMP圖像到數(shù)據(jù)庫的另一解決方案來進(jìn)行補(bǔ)充完善。演示數(shù)據(jù)庫結(jié)構(gòu)和窗口界面設(shè)計(jì)同前文,不再重述,將單元的相應(yīng)程序代碼作如下更換:

  1. 圖像數(shù)據(jù)的選擇及保存

procedure Tform1.selectimageClick(Sender: TObject); //選擇圖像
begin
if openpicturedialog1.Execute then
image1.Picture.LoadFromFile(openpicturedialog1.FileName );
end;
procedure Tform1.savetodbClick(Sender: TObject); //保存圖像到數(shù)據(jù)庫
var
ext:string;
begin
if image1.picture.Graphic <> nil then //避免image1中無圖像保存出錯(cuò)
begin
adotable1.Edit ;
adotable1.FieldByName('myimage').Assign(image1.Picture.Graphic);
//以下記錄保存到數(shù)據(jù)庫的圖像格式
ext:=extractfileext(openpicturedialog1.FileName ); //取出文件擴(kuò)展名
if uppercase(ext) = '.BMP' THEN
adotable1.FieldByName('isbmp').VALUE := 1 //BMP型圖像數(shù)據(jù)
ELSE IF (UPPERCASE(EXT) = '.JPEG') OR (UPPERCASE(EXT) = '.JPG') THEN
adotable1.FieldByName('isbmp').VALUE := 0; //JPEG型圖像數(shù)據(jù)
ADOTABLE1.Post ;
end;
end;

  2. 圖像數(shù)據(jù)的讀取及顯示

procedure Tform1.ADOTable1AfterScroll(DataSet: TDataSet); //ADOTable1的AfterScroll事件方法程序
 var
  jpegimage:tjpegimage;
 begin
  image1.Picture.Graphic :=nil;
  //下邊BMP、JPEG兩種圖像數(shù)據(jù)必需分別處理
  if adotable1.fieldbyname('isbmp').Asstring = '1' then //BMP型圖像數(shù)據(jù)
   image1.Picture.bitmap.Assign(adotable1.fieldbyname('myimage'))
   //上邊語句中的bitmap不能為graphic,否則會(huì)出錯(cuò)
  else if adotable1.fieldbyname('isbmp').asstring = '0' then //JPEG型圖像數(shù)據(jù)
   begin //begin2
    jpegimage := tjpegimage.Create ; //通過jpegimage將圖像顯示在image1,否則會(huì)出錯(cuò)
    try
     jpegimage.Assign(adotable1.fieldbyname('myimage'));
     image1.Picture.Graphic :=jpegimage;
    finally
     jpegimage.Free ;
    end; //end try
  end; //end begin2
end;

  注:別忘了在單元文件接口部分的uses語句中添入JPEG單元引用。

  以上程序代碼在DELPHI6.0+SQL(或ACCESS或PARADOX)數(shù)據(jù)庫下運(yùn)行通過。

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 合水县| 郑州市| 奇台县| 紫阳县| 阿鲁科尔沁旗| 太原市| 保亭| 平乐县| 商南县| 缙云县| 吕梁市| 女性| 丰都县| 萍乡市| 五大连池市| 昔阳县| 甘洛县| 吉安县| 财经| 泗洪县| 定西市| 比如县| 诏安县| 横山县| 沁源县| 襄樊市| 遵义市| 湄潭县| 富民县| 灵台县| 乌鲁木齐县| 阿勒泰市| 阿拉尔市| 双江| 昌黎县| 湟中县| 渝北区| 建宁县| 新巴尔虎右旗| 新竹市| 宁安市|