国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

TCanvas類

2019-11-17 05:37:55
字體:
來源:轉載
供稿:網友

  TCanvas為作圖對象提供一個抽象的畫布。

類關系 TObject->TPersistent
   對那些作圖對象,可使用TCanvas對象作為畫布。標準的window控件,例如編輯控件和列表框控件,當它們被Windows畫出來時,并不需要一塊畫布。在創建一幅圖像時,TCanvas對象提供有用的屬性、方法和事件,主要通過以下方法:
   指定需要使用的刷子、畫筆和字體類型。
   對各類外形和線條進行作圖和填充。
   輸入文體。
   對圖像進行著色。
   對當前圖像的變化能作出反應。
   TCanvas有兩個子類,即TControlCanvas和TMetafileCanvas,它們對控件圖像的作圖和創建對象的圖元文件圖像有所幫助。

屬性列表
Brush 決定畫布填充圖形的背景顏色和填充圖案的模式
ClipRect 指定剪貼矩形的邊界
CopyMode 確定如何將復制的圖像放到畫布上面
Font 指定使用文體的字體
Handle 是針對畫布的Windows GDI句柄
LockCount 表示畫布被鎖定的次數
Pen 指定使用的畫筆種類
PenPos 指定畫筆當前的作圖位置
Pixels 指定當前CliPRect中點的顏色

方法列表
~TCanvas 釋放TCanvas占用的內存
Arc 在圖片上畫出一段弧線
BrushCopy 制位圖的一部分到位于畫布上的矩形中
Chord 畫一個由一條直線和一個橢圓相交所的的閉合圖形
CopyRect 將另一畫布上圖形的一部分復制到這個畫布上
Draw 在畫布上輸出由Graphic參數指定的圖像
DrawFocusRect 畫一個矩形框表示矩形內的控件對象具有輸入焦點
Ellipse 在畫布上畫橢圓
FillRect 使用當前刷子填充畫布上指定的矩形
FloodFill 使用當前刷子填充畫布上的一塊區域
FraneRect 畫出一個矩形的邊框
LineTo 在畫布上畫一條從當前畫筆位置到指定點(x, y)的直線
Lock 使其他線條不在畫布上畫出
MoveTo 使當前作圖位置移到點(x, y)
Pie 在畫布上畫一個扇形
PolyBezier 畫一簇Bezier曲線
PolyBezierTo 畫一簇Bezier曲線并更新PenPos的值
Polygon 在畫布上畫出閉合圖形
Polyine 在畫布上畫出一系列鏈接點數組中的每一個點的直線
Rectangle 在畫布上畫出一個矩形
Refresh 從設備場境里刪除 Pen、Brush 以及 Font
RoundRect 在畫布上畫出一園角的矩形
StretchDraw 畫出由 raphic 參數指定的圖像
TCanvas 創建一介 TCanvas 對象的實例
TextExtent 返回字符串的像素寬度和高度
TextHeight 返回字符串的像素高度
TextOut 在畫布上從點(x,y)處開始輸出一字符串
TextRect 在剪切矩形區內輸出字符串
TextWidth 返回字符串的像素寬度
TryLock 調用TryLock 將鎖定畫布
Unlock 使LockCount 屬性值減少

事件列表
OnChange 當畫布上的圖像剛發生變化時OnChange事件發生
OnChanging 當畫布上的圖像剛發生變化時OnChanging事件發生

屬性
TCanvas::Brush
   決定畫布填充圖形的背景顏色和填充圖案模式。
  __property TBrush* Brush = { read =FBrush, write =SetBrush };
   通過設置 Brush屬性的屬性,指定作圖背景顏色和填充圖案的模式。Brush 屬性值為TBrush 對象。當在畫布上填充一個空間時,通過設置TBrush 對象的屬性,可以指定可以使用的顏色、模式或者位圖。
   注重:設置Brush 屬性是為分配指定的TBrush 對象,而不是替代當前的 TBrush 對象。

TCanvas:::ClipRect
   指定剪貼矩形的邊界。
  __property Windows:::TRect ClipRect = {read =GetClipRect };
   使用ClipRect權屬性用來限定畫布的作圖區域。任何坐標在ClipRect 屬性以外的作圖將被剪切掉并且不會出現在圖像中,例如,在一個較小的框中畫一個大圓的一部分,首先畫框,然后對由框的內邊界限定的矩形進行ClipRect屬性設置 。此時,畫整個圓將顯示在框內部分。
當處理窗體的OnPaint 事件時,畫布的ClipRect 屬性被設置成所需著色的矩形。不與ClipRect 重疊的圖像部分,不必畫出。因此,OnPaint 例程能夠使用 ClipRect 屬性的數值,對著色進行優化,并加速應用軟件的全面運行。

TCanvas::CopyMode
   確定如何將復制的圖像放到畫布上面。
  __property int Copy Mide = {read = FCopyMode, write = FCopyMode, default = 13369376 };

   設置copyMode屬性,可以改變畫出的圖像到畫布上面的路徑。當使用CpyReet 方法從另外的畫布上復制圖像時,使用CopyMode屬性。當TBitmap 對象畫它們自身到一個畫布上時,CopyNode屬性還被TBitmap對象使用。
   下表給出了CopyMode屬性可能的取值,并對每一取值進行了描述。
取值 說 明
cmBlackness 用黑色填充畫布的矩形目標
cmDstInvert 忽略源圖,將畫布上的圖像反轉
cmMergeCopy 將畫布上的圖像與源位圖進行AND操作
cmMergePaint 將畫布上的圖像與反轉的源位圖進行OR操作
cmNotSrcCopy 復制反轉的源位圖與畫布
cmNotSrcErsae 將畫布上的圖像與源位圖進行OR操作,然后再反轉
cmPatCopy 復制源式樣至畫布
cmPatInvert 將畫布上的圖像與源式樣進行XOR操作
cmPatPaint 使用OR操作使反轉的源位圖與源式樣結合,并將操作結果與畫布上的圖像進行OR操作
cmSsrcAnd 將畫布上的圖像與源位圖進行AND操作
cmSrcCopy 復制源位圖至畫布
cmSrcErase 將畫布上的圖像進行反轉,然后將其與源位圖進行XOR操作
cmSrcInvert 將畫布上的圖像與源位圖進行OR操作
cmWhiteness 用白色填充畫布上的矩形目標

TCanvas::Font
   當在圖像上寫的文本時,使用Font屬性指定使用文本的字體
  __property TFont* Font = { read = FFont, write = SetFont } ;
   對圖像上的文本,使用Font屬性可以指定使用文本的字體。Font 屬性的數值是TRont 對象。設置TFont對象的屬性,可以指定使用字體的外觀、顏色、大小以及風格等。
   注重:僅對指定TFont對象的 Font 屬性進行指定,而不是替代當前的TFont對象。

TCanvas::HandIe
   是針對畫布的Windows GDI句柄。
  __property HDC HandIe = { read = GetHandIe write = SetHandIe ,nodefauIt } ;
   對于卷入畫布的設備場境,必須設置HDC 的Handle 屬性。當窗口控件對Windows 著色信息進行響應時,繪圖所需的HDC 即轉化為PrtDeviceContext 方法 。在其他情況下,通過調用控件的GetDeviceContext方法,也能獲得HDC。此外,對打印機或者存儲器,Windows 還提供了能夠獲得HDC的API調用方法。
   讀Handle 屬性可以對由使用需要設備場境句柄的進行API調用的TCanvas 對象提供繪圖設備進行補充。絕大多數的Windows GDI調用,需要HDC。
   TCancas對象沒有自己的HDC。應用軟件必須建立一個HDC,并對Handle 屬性進行設置。當畫布不再需要時,應用軟件應釋放HDC。對已有效一個有HDC畫布,進行Handle屬性進行設置時,將不能自動釋放初始的HDC。
   注重:TCanvas 對象的一些字體,如TControlCanvas , 有其自己的HDC。不要為這些對象設置Handle屬性。它們使用并釋放自己的Handle屬性。

TCanvas::LocKcount
   表示畫布被鎖定的次數,以避免與其他線條相沖突。
  __properrty int LockCount = {read = FLockCount,nodefault }:
   讀LockCount屬性可以查明畫布是否被鎖定。每當調用Lock方法防止畫布與其他線條相沖突時,LockCount屬性增加。調用Unlock方法時,LockCount 屬性減少。當LockCount屬性為0時,其他線條可以在畫布上畫出。

TCanvas::Pen
   指定畫布為畫線和畫圖形輪廓而使用的畫筆種類。
  __property TPen * Pen + {read = FPen, write =SetPen };
   在一幅圖像中,設置Pen 屬性可指定畫線和畫圖形輪廓而使用的畫筆種類。Pen屬性的數值是TPen對象。設置TPeb對象的屬性,可以指定畫筆的顏色、風格、寬度以及樣式等。
   注重:僅對指定TPen 對象的Pen屬性進行設置,而不是替代當前的TPen對象。

TCanvas::PenPos
   用來指定畫筆當前的作圖位置。
  __property tag POINT penPos = {read = GetPenPos , write = SetPos },
   讀 PernPos 可以知道畫筆當前的傻圖位置。它是用 LineTo 方法作圖的起始點位置。設置 PenPos 屬性相當于調用 MoveTo 方法 。

TCanvas::Pixels
   指定當前 ClipRect是中點顏色。
  __property TColor Tixels [ int Y ] = { read = Get Pixel , write = SetPixe } ';
   讀取Tixels 讀屬性可以知道位于具體像素位置的畫面顏色。寫Pixels屬性可以改變畫面上某個特定像素的顏色。使用Pixels 屬性可以細化圖像效果。Pixels 屬性還可以用于確定被FillRect方法使用的顏色。
   不是每一個設備場境都支持Pixels屬性。這樣的設備場境,讀出的Pixels屬性返回值為--- 1。則對這樣的設備場境進行Pixels 屬性設置是沒有用的。
   注重: Pixels屬性僅對位于當前Cliprect 數值內的像素有效。


方法
TCanvas::~TCanvas
   刪除一個TCanvas的實例。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 马关县| 金堂县| 扶余县| 通城县| 库尔勒市| 黄大仙区| 林芝县| 安阳市| 陕西省| 浮山县| 江都市| 磐安县| 邛崃市| 手机| 宝鸡市| 正定县| 芷江| 太保市| 丹棱县| 通山县| 滦平县| 五河县| 林西县| 宿迁市| 阳山县| 平泉县| 万荣县| 石台县| 云阳县| 阿瓦提县| 金溪县| 德令哈市| 霍邱县| 深泽县| 吉安市| 英超| 清河县| 汕头市| 嘉禾县| 娄底市| 娄底市|