VB聲明 |
||
Declare Function GetPath Lib "gdi32" Alias "GetPath" (ByVal hdc As Long, lpPoint As POINTAPI, lpTypes As Byte, ByVal nSize As Long) As Long |
||
說明 |
||
取得對(duì)當(dāng)前路徑進(jìn)行定義的一系列數(shù)據(jù) |
||
返回值 |
||
Long,載入數(shù)組的點(diǎn)數(shù)(如nSize設(shè)為零,則返回要求的條目數(shù)量)。如數(shù)組空間不夠大,不足以容下所有的點(diǎn),就返回-1。會(huì)將GetLastError設(shè)置為下述值之一:ERROR_CAN_NOT_COMPLETE,ERROR_INVALID_PARAMETER,ERROR_BUFFER_OVERFLOW |
||
參數(shù)表 |
||
參數(shù) |
類型及說明 |
|
hdc |
Long,包含了路徑的設(shè)備場(chǎng)景 |
|
lpPoint |
POINTAPI,一個(gè)POINTAPI結(jié)構(gòu)數(shù)組中的第一個(gè)元素。這個(gè)數(shù)組為路徑中的每個(gè)段(segment)都要載入坐標(biāo)數(shù)據(jù)。具體的信息是采用邏輯坐標(biāo)提供的 |
|
lpTypes |
Byte,一個(gè)字節(jié)數(shù)組中的第一個(gè)元素;這個(gè)數(shù)組定義了與每個(gè)坐標(biāo)對(duì)應(yīng)的操作類型。其中包括: |
|
PT_MOVETO |
坐標(biāo)是一個(gè)新子路徑的起始處 |
|
PT_LINETO |
坐標(biāo)是來自前一個(gè)坐標(biāo)的一條線的終點(diǎn) |
|
PT_BEZIERTO |
肯定以三點(diǎn)一組的形式出現(xiàn)。頭兩個(gè)點(diǎn)是控制點(diǎn),第三個(gè)是貝塞爾(Bezier)曲線的終點(diǎn)。PT_LINETO和PT_BEZIERTO也許能與PT_CLOSEFIGURE聯(lián)合使用。在這種情況下,它代表一幅圖象的最后一個(gè)點(diǎn)。將這個(gè)點(diǎn)與子路徑的第一個(gè)連接起來后,路徑就會(huì)封閉 |
|
nSize |
Long,lpPoint和lpTypes數(shù)組的大小。如設(shè)為零,表示取得要求的數(shù)組大小 |
|
注解 |
||
盡管路徑信息是在設(shè)備坐標(biāo)的內(nèi)部保存的,這個(gè)函數(shù)的所有坐標(biāo)都是用邏輯坐標(biāo)返回的。具體坐標(biāo)取決于當(dāng)前的坐標(biāo)系統(tǒng)及轉(zhuǎn)換設(shè)置??捎?a href="flattenpath.htm" class="topiclink">FlattenPath函數(shù)強(qiáng)迫路徑中的所有點(diǎn)都成為PT_MOVETO和PT_LINETO類型 |