資源描述:
《delphi canvas的屬性大全》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、在寫畫圖軟件必然少不了canvas,可是像我們這樣的剛步入程序開發(fā)的人們,哪有都懂的,只做一點學一點了。下面是Canvas的相關屬性。在Delphi中,專門定義了一組用于繪制圖形的對象和組件,完成一些簡單的圖像功能。利用這些對象、組件的方法,可以方便地繪制各種常用圖形;通過設置它們的屬性,能得到不同風格的圖形。另外,通過對鼠標事件的定義,可以方便設計圖形繪制程序。(1)TCanvas,TPen,TBrush,TColor對象的方法及屬性;(2)繪圖功能的實現(xiàn);(3)TImage,TPicture,TBitBt
2、n,TBitmap組件的方法及屬性;(4)圖像觀測及處理。4.4.1TCanvas——畫布對象TCanvas對象是一個用于繪圖的組件,Delphi利用這個組件為用戶提供了一個繪制圖形的區(qū)域,在這個區(qū)域上,程序可實現(xiàn)各種繪圖功能,很多組件(如TImage、TMemo)的Canvas屬性就是TCanvas對象。在組件上繪制圖形就是在組件的畫布上繪制。TCanvas的Brush、Pen、Font屬性分別是TBrush、TPen、TFont對象,它們用于定義繪制圖形的風格。關于TBrush、TPen對象,后面將詳細介
3、紹。需要說明的是,Delphi中利用前綴T來標志內部定義的對象,例如TPen代表畫筆對象,TForm則代表窗體對象等。畫布的筆的位置定義在PenPos屬性中,可用MoveTo方法來移動筆。如果要在畫布上輸出文本,可用Textout方法。TCanvas對象有很多方法,可完成常用的繪圖功能。TCanvas對象的方法方法說明ArcArc(x1,y1,x2,y2,x3,y3,x4,y4:Integer);Arc方法在橢圓上畫一段弧,橢圓由(x1,y1)、(x2,y2)兩點所確定的橢圓決定?;〉钠瘘c是橢圓圓周和橢圓中心
4、與(x3,y3)連線的交點。弧矩形終點是橢圓圓周和橢圓中心與(x4,y4)連線的交點以逆時針方向畫弧ChordChord(x1,y1,x2,yx,x3,y3,x4,y4:Integer);Chord方法連接橢圓上兩點,橢圓由(x1,y1)、(x2,y3)兩點所確定的矩形決定,(x3,y3)是始點,(x4,y4)是終點BrushcopyBrushcopy(constDest:TRect;Bitmap:TBitmap;constSourceTRect;Color:TColor);Brushcopy方法把位圖的一部
5、分復制到畫布的某個矩形區(qū)域,并用畫筆的當前顏色替換位圖的顏色。參數(shù)Dest定義畫布的一個矩形區(qū)域,該矩形用以填充位圖,Bitmap定義位圖;Source定義位圖中的矩形區(qū)域,該區(qū)域上的位圖將被復制;Color定義畫筆中用以替換位圖的顏色CopyRectCopyRect(Dest:TRect;Canvas:TCanvas;SourceTRect);此方法從另一個畫布對象上復制部分圖像到該畫布。Canvas表示源畫布,Source是源畫布上要復制的圖像區(qū)域。Dest表示目標畫布上將接受復制圖像的矩形區(qū)域方法說明D
6、rawDraw(x,y:Integer;Graphic:TGraphic);此方法在畫布給定的像素點坐標(x,y)處畫Graphic所給的圖像,該圖像可以是位圖、圖標或元位圖EllipsEllips(x1,y1,x2,y2:Integer);Ellips方法在畫布指定的矩形邊界上畫一個橢圓,(x1,y1)是矩形左上角的像素坐標,(x2,y2)是矩形右下角的像素坐標。如果矩形形成一個區(qū)域,則將出現(xiàn)一個橢圓LineToLineTo(x,y:Integer);LineTo從當前位置畫一條線至(x,y)所指定的位置,
7、并把筆的位置移至(x,y)MoveToMoveTo(x,y:Integer);MoveTo將筆的當前位置設置到點(x,y)處,筆的當前位置在PenPos屬性中,改變筆的當前位置使用MoveTo方法,不要設法改變PenPos的值DieDie(x1,y1,x2,y2,x3,y3,x4,y4:Longint);Die方法繪制橢圓的一部分,橢圓由點(x1,y1),(x2,y2)所確定的矩形所決定,繪制的那部分由橢圓中心到(x3,y3)、(x4,y4)兩點的兩條輻射線所決定PolygonPolygon(Points:a
8、rrayofTPrint);Polygon方法在畫布上繪制一系列的點,各點依次連成線,最后將首尾兩點相接形成一個區(qū)域,并用當前筆刷填充此區(qū)域PolylinePolyline(Ports:arrayofTPort);Polyline方法在畫布上用當前畫筆繪制一系列的點,各點依次連成線StretchDrawStretchDraw(ConstRect:TRcct:Graphic:TGraphic);此方法