GetPath

此頁沒有內(nèi)容條目
內(nèi)容

GetPath

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類型

Top