首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級 | 職稱英語 | 商務(wù)英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學(xué)習(xí) | 法語 | 德語 | 韓語
計(jì)算機(jī)等級考試 | 軟件水平考試 | 職稱計(jì)算機(jī) | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
華為認(rèn)證 | Java認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問 | 導(dǎo)游資格
報(bào)檢員 | 教師資格 | 社會(huì)工作者 | 外銷員 | 國際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價(jià)格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡(luò)編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護(hù)士
會(huì)計(jì)從業(yè)資格考試會(huì)計(jì)證) | 經(jīng)濟(jì)師 | 會(huì)計(jì)職稱 | 注冊會(huì)計(jì)師 | 審計(jì)師 | 注冊稅務(wù)師
注冊資產(chǎn)評估師 | 高級會(huì)計(jì)師 | ACCA | 統(tǒng)計(jì)師 | 精算師 | 理財(cái)規(guī)劃師 | 國際內(nèi)審師
一級建造師 | 二級建造師 | 造價(jià)工程師 | 造價(jià)員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 巖土師
設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項(xiàng)目管理師 | 土地登記代理人 | 環(huán)境影響評價(jià)師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價(jià)師 | 安全評價(jià)師 | 電氣工程師 | 注冊測繪師 | 注冊計(jì)量師
繽紛校園 | 實(shí)用文檔 | 英語學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

2011計(jì)算機(jī)等級考試Delphi:Delphi圖形圖像編程

本章將介紹以下內(nèi)容:TCanvas,TPen,TBrush,TColor對象的方法及屬性; 繪圖功能的實(shí)現(xiàn);TImage,TPicture,TBitBtn,TBitmap部件的方法及屬性;圖像觀測及處理。

  5.3 圖像對象概述

  5.3.1 TGraphic對象

  TGraphic對象是TBitmap ,TIcon,Tmetafile對象的基類。如果知道圖像的具體類型( 如位圖, 圖標(biāo)元文件) , 則應(yīng)將圖像貯存在相應(yīng)類型的對象中( 如TBitmap,TIcon,Tmetafile),否則應(yīng)該使用可貯存任何圖像類型的TPicture對象。

  5.3.2 TPicture對象

  TPicture對象可以保存位圖、圖標(biāo)或元文件。Graphic屬性中包括圖像的類型;圖像的高度和寬度分別定義在Height,Width屬性中;調(diào)用LoadFromFile方法,可以從文件中裝載一幅圖像:

  procedure TForm1.FormCreate(Sender: TObject);

  begin

  BitBtn1.Glyph.LoadFromFile('TARTAN.BMP');

  end;

  要保存一個(gè)位圖,則要用SaveToFile方法;要把圖像復(fù)制到剪切板,可以調(diào)用TClipboard對象的Assign方法。

  5.3.3 TImage部件

  TImage部件用以在窗體中顯示圖像,它的Picture 屬性保存著要顯示的圖像, 這是一個(gè)TPicture對象。AutoSize,Stretch屬性是用來調(diào)節(jié)部件與圖像的大小的。當(dāng)AutoSize 為真值時(shí),TImage部件將根據(jù)它所包含的圖像的大小來調(diào)整自身的大小;當(dāng)AutoSize為假值時(shí),不論圖像有多大,部件將保持設(shè)計(jì)時(shí)的大小。如果部件比圖像小, 那么只有一部分圖像是可見的。當(dāng)Stretch為真值時(shí),位圖像將根據(jù)部件的大小調(diào)整自身的大小,當(dāng)部件大小改變時(shí),元文件也做相應(yīng)變化。Stretch屬性對圖標(biāo)沒有作用。

  5.3.4 TBitmap Object(位圖對象)

  位圖對象包含一個(gè)位圖圖像,有HBITMAP,HPALETE句柄,可自動(dòng)管理調(diào)色板。位圖對象也有畫布屬性。位圖的Palette屬性用來控制位圖的顏色映射,它包括256種可顯示的顏色。 如果應(yīng)用程序用前景色繪制位圖,Palette 屬性的顏色將被加入Windows系統(tǒng)調(diào)色板,其它顏色被映射到系統(tǒng)調(diào)色板已存在的顏色。如果應(yīng)用程序用自己的顏色繪制位圖,而其它程序已占有系統(tǒng)調(diào)色板,位圖的顏色將被映射到系統(tǒng)調(diào)色板中。

  如果Monochrome屬性設(shè)置成假,位圖將顯示成彩色,反之顯示成黑白色。

  調(diào)用Draw和StretchDraw方法可在畫布上繪制位圖。

  5.4 圖像對象的應(yīng)用

  本章例程中,單擊(文件|瀏覽)菜單項(xiàng),將彈出一個(gè)圖像瀏覽窗體。如果用戶在窗體中選擇文件列表框的圖形文件,窗體右上角的圖像部件上將出現(xiàn)此文件所代表的圖像;若選擇“雕刻效果”按鈕中檢查框,窗體中的加速按鈕和位圖按鈕上將出現(xiàn)位圖。

  以下代碼是將圖像文件裝載至圖像部件上:

  procedure TImageForm.FileListBox1Click(Sender: TObject);

  var

  FileExt: string[4];

  begin

  FileExt := UpperCase(ExtractFileExt(FileListBox1.Filename));

  if (FileExt = '.BMP') or (FileExt = '.ICO') or (FileExt = '.WMF') then

  begin

  Image1.Picture.LoadFromFile(FileListBox1.Filename);

  Label1.Caption := ExtractFilename(FileListBox1.Filename);

  if (FileExt = '.BMP') then

  begin

  Label1.Caption := Label1.Caption +

  Format(' (%d x %d)', [Image1.Picture.Height, Image1.Picture.Width]);

  ViewForm.Image1.Picture.Bitmap := Image1.Picture.Bitmap;

  ViewAsGlyph(FileExt);

  end;

  if FileExt = '.ICO' then Icon := Image1.Picture.Icon;

  if FileExt = '.WMF' then

  ViewForm.Image1.Picture.Metafile := Image1.Picture.Metafile;

  end;

  end;

  這個(gè)過程首先判斷文件類型,如果是圖像文件,則將圖像裝載至圖像部件上,并在標(biāo)簽上列出文件名稱。如果是位圖文件,還將顯示其大小。

  在加速按鈕和位圖按鈕中顯示位圖的代碼如下:

  procedure TImageForm.CheckBox1Click(Sender: TObject);

  begin

  ViewAsGlyph(UpperCase(ExtractFileExt(FileListBox1.Filename)));

  end;

  procedure TImageForm.ViewAsGlyph(const FileExt: string);

  begin

  if CheckBox1.Checked and (FileExt = '.BMP') then

  begin

  SpeedButton1.Glyph := Image1.Picture.Bitmap;

  SpeedButton2.Glyph := Image1.Picture.Bitmap;

  SpinEdit1.Value := SpeedButton1.NumGlyphs;

  BitBtn1.Glyph := Image1.Picture.Bitmap;

  BitBtn2.Glyph := Image1.Picture.Bitmap;

  end;

  end;

  窗體中有一個(gè)檢查框用來檢驗(yàn)圖像部件的Strecth 屬性的效果。當(dāng)此檢查框被選中時(shí),Stretch設(shè)成真值,圖像將根據(jù)部件大小調(diào)整自身大小。代碼如下:

  procedure TImageForm.StretchCheckClick(Sender: TObject);

  begin

  Image1.Stretch := StretchCheck.Checked;

  end;

  在這個(gè)窗體中,用戶可以在屏幕和打印紙上調(diào)整圖像部件的大小、位置。調(diào)整圖像的代碼如下:

  procedure TViewForm.SpinEdit1Change(Sender: TObject);

  begin

  IMage1.Height:=105+SpinEdit1.Value*5;

  IMage1.Width:=105+SpinEdit1.Value*5;

  end;

  procedure TViewForm.SpinEdit2Change(Sender: TObject);

  begin

  Image1.Left:=40+ SpinEdit2.Value*20;

  end;

  procedure TViewForm.SpinEdit3Change(Sender: TObject);

  begin

  Image1.Top:=96+SpinEdit3.Value*10;

  當(dāng)用戶按下標(biāo)有“全尺寸”字樣的按鈕時(shí),另一個(gè)窗體將顯示。

  圖像打印代碼如下:

  procedure TViewForm.Button1Click(Sender: TObject);

  begin

  Printer.BeginDoc;

  Printer.Canvas.Draw(Trunc(1.5*Image1.Left),Trunc(1.5*Image1.Top), Image1.Picture.Graphic);

  Printer.EndDoc;

  end;

上一頁  1 2 3 4 5  下一頁
  相關(guān)推薦:2010年9月計(jì)算機(jī)等級考試試題及答案解析專題
       預(yù)告:名師解析2010年9月計(jì)算機(jī)等級考試試題答案
       2010年9月計(jì)算機(jī)等級考試成績查詢時(shí)間及入口
       2010年9月計(jì)算機(jī)等考成績查詢短信免費(fèi)提醒開通
文章搜索
版權(quán)聲明:如果計(jì)算機(jī)等級考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級考試網(wǎng)內(nèi)容,請注明出處。