程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi圖形圖像編程

Delphi圖形圖像編程

編輯: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);

  • 首頁
  • 上一頁
  • 1
  • 2
  • 3
  • 4
  • 下一頁
  • 尾頁
  • 共4頁
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved