首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載 | ||
![]() |
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試 MPA考試 | 中科院 |
|
![]() |
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT 新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語 |
|
![]() |
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 華為認證 | Java認證 |
|
![]() |
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格 報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師 人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平 駕駛員 | 網絡編輯 |
|
![]() |
衛生資格 | 執業醫師 | 執業藥師 | 執業護士 | |
![]() |
會計從業資格考試(會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師 注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師 |
|
![]() |
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師 質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師 設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師 城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師 |
|
![]() |
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲 |
第五章 Delphi圖形圖像編程
在Delphi中,專門定義了一組對象和部件用以繪制圖形,完成一些簡單的圖像功能。利用這些對象、部件的方法,可以方便地繪制各種常用圖形;通過設置它們的屬性,能得到不同風格的圖形。另外,通過對鼠標事件的定義,可以方便的設計圖形繪制程序。
本章將介紹以下內容:
1. TCanvas,TPen,TBrush,TColor對象的方法及屬性;
2. 繪圖功能的實現;
3. TImage,TPicture,TBitBtn,TBitmap部件的方法及屬性;
4. 圖像觀測及處理。
Graphex.dpr是一個簡單的圖形圖像應用程序,是對以上這些對象和組件的具體應用。本章將結合此程序進行講述。
5.1 圖形對象概述
5.1.1 TCanvas Object(畫布對象)
TCanvas對象是一個用于繪圖的表面,在這個區域上,程序可實現各種繪圖功能,很多部件(如TIMage,TMemo)的Canvas屬性就是TCanvas對象。在部件上繪制圖形就是在部件的畫布上繪制。TCanvas的Brush,Pen,Font屬性分別是TBrush,TPen,TFont對象,它們用于定義繪制圖形的風格。關于TBrush,TPen對象,下節中將詳細介紹。
畫布的筆的位置定義在PenPos屬性中,可用MoveTo方法來移動筆。如果要在畫布上輸出文本,可用Textout方法。
TCanvas有對象很多方法,可完成常用的繪圖功能,現將方法及功能簡介如表5.1:
表5.1 TCanvas對象的方法
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
方法名稱 形式及說明
───────────────────────────────────────
Arc Arc(x1,y1,x2,y2,x3,y3,x4,y4 : Integer);
Arc方法在橢圓上畫一段弧,橢圓由(x1,y1),(x2,y2) 兩點所確定的橢圓所決
定。弧的起點是橢圓圓周和橢圓中心與(x3,y3)連線的交點。弧矩形終點是橢
圓圓周和橢圓中心與(x4,y4)連線的交點,以逆時針方向畫弧。
Chord Chord(x1,y1,x2,yx,x3,y3,x4,y4 : Integer);
Chord方法連接橢圓上的兩點,橢圓由(x1,y1),(x2,y3) 兩點所確定的矩形決
定,(x3,y3)是始點,(x4,y4)是終點。
Brushcopy Brushcopy(const Dest : TRect;Bitmap : TBitmap;const Source TRect;
Color : TColor);
Brushcopy方法把位圖的一部分復制到畫布的某個矩形區域,并用畫筆的當前顏色替換位圖的顏色。參數Dest定義畫布的一個矩形區域,該矩形用以填充位圖,Bitmap定義位圖;Source定義位圖中的矩形區域,該區域上的位圖
將被復制;Color定義畫筆中,用以替換位圖的顏色。
CopyRect CopyRect(Dest : TRect;Canvas : TCanvas; Source TRect);
此方法從另一個畫布對象上復制部分圖像到該畫布。Canvas表示源畫布,Source是源畫布上要復制的圖像區域。Dest表示目標畫布上將接受復制
圖像的矩形區域。
Draw Draw(x,y : Integer;Graphic : TGraphic);
此方法在畫布給定的象素點坐標(x,y)處畫Graphic所給的圖像,該圖像可以是位圖,圖標或元位圖。
Ellips Ellips(x1,y1,x2,y2 : Integer);
Ellips方法在畫布指定的矩形邊界上畫一個橢圓,(x1,y1)是矩形左上角的象素坐標,x2,y2是矩形右下角的象素坐標。如果矩形形成一個區域,將出現一個橢圓。
LineTo LineTo(x,y : Integer);
LineTo從當前位置畫一條線至(x,y)所指定的位置,并把筆的位置移至(x ,y)。
MoveTo MoveTo(x,y : Integer);
MoveTo 將筆的當前位置設置到點(x,y)處,筆的當前位置在PenPos屬性中,
改變筆的當前位置使用MoveTo方法,不要設法改變PenPos的值。
Die Die(x1,y1,x2,y2,x3,y3,x4,y4 : Longint);
Die方法繪制橢圓的一部分,橢圓由點(x1,y1),(x2,y2)所指定的矩形所決定,制的那部分由橢圓中心到(x3,y3),(x4,y4)兩點的兩條輻射線所決定。
Polygon Polygon(Points : array of TPrint);
Polygon方法在畫布上繪制一系列的點,各點依次連成線,最后將首尾兩點相接形成一個區域,并用當前筆刷填充此區域。
Polyline Polyline(Ports : array of TPort);
Polyline方法在畫布上用當前畫筆繪制一系列的點,各點依次連成線。
StretchDraw StretchDraw(Const Rect : TRcct : Graphic : TGraphic);
此方法在Rect參數指定的矩形內畫一圖像。圖像延伸改變大小以適應矩形。
Rectangle Rectangle(X1,y1,x2,y2 : Integer);
Rectangle方法在畫布上用當前畫刷繪制矩形,(x1,y1)是矩形的左上角,(x2,y2)是矩形的右下角。
RomlRect RomlRect((x1,y1,x2,y2,x3,y3, : Integer);
DrawFocuseRect
DrawFocusRect(Const Rect : TRect)
此方法繪制一矩形以指示此矩形獲得焦點。此方法是異或(XOR)函數,第二次調用時原有矩形將消失。DrawFocuseRect繪制的矩形不能滾動。要實現滾動功能則先調用此方法使矩形消失,待滾動過后重新繪制。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
5.1.2 Tpen Object(畫筆對象)
應用程序常用TPen對象在畫布上繪制各種線段,筆的顏色在Color屬性中定義。線段寬度在Width屬性中定義。
Style屬性定義了線段的各種類型,如表5.2:
表5.2 Styled的取值及含義
━━━━━━━━━━━━━━━━━━━━━━
Style 含義
──────────────────────
PSolod 畫固定線段
PSDash 畫由下劃線組成的線段
PSDot 畫由點組成的線段
PsDashDot 畫點劃線
PsClear 畫雙點劃線
PsClear 畫看不見的線段
PsInsideFrame 畫邊界的矩形線框
━━━━━━━━━━━━━━━━━━━━━━━
Mode屬性定義線段的顏色。可結合當前的顏色、屏幕顏色或它們反轉值,對線段的顏色重新定義,但不改變Color屬性。詳見表5.3。
表5.3 Mode的取值及含義
━━━━━━━━━━━━━━━━━━━━━━━━━━━
Mode 象素顏色
──────────────────────────
PmBlack 黑色
PmWhite 白色
PmNop 不變
PmCopy 使用Color屬性中的顏色
PmNotCopy 筆顏色的反轉值
PmMergePenNot 筆的顏色與屏幕顏色反轉值的結合
PmNaskNotPen 屏幕顏色與筆顏色
PmMergeNotPen 屏幕顏色與筆顏色反轉值的結合
━━━━━━━━━━━━━━━━━━━━━━━━━━━
相關推薦:2010年9月計算機等級考試試題及答案解析專題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |