本章將介紹以下內容:
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);
此方法從另一個畫布對象上復制部分圖像到該畫布。C