polyDraw 函式 (wingdi.h)

PolyDraw函式會繪製一組線條線段和貝茲曲線。

語法

BOOL PolyDraw(
  [in] HDC         hdc,
  [in] const POINT *apt,
  [in] const BYTE  *aj,
  [in] int         cpt
);

參數

[in] hdc

裝置內容的控制代碼。

[in] apt

POINT結構的陣列指標,其中包含每個線條線段的端點,以及每個 Bézier 曲線的端點和控制點,以邏輯單位表示。

[in] aj

陣列的指標,指定如何使用 lppt 陣列中的每個點。 此參數可以是下列其中一個值。

類型 意義
PT_MOVETO
指定這個點會啟動不連續的圖形。 這個點會變成新的目前位置。
PT_LINETO
指定要從目前位置繪製到這個點的線條,然後變成新的目前位置。
PT_BEZIERTO
指定這個點是 Bézier 曲線的控制點或結束點。

PT_BEZIERTO類型一律發生在三組。 目前的位置會定義 Bézier 曲線的起點。 前兩個PT_BEZIERTO點是控制點,而第三個PT_BEZIERTO點是結束點。 結束點會變成新的目前位置。 如果沒有三個連續PT_BEZIERTO點,就會產生錯誤。

 

PT_LINETO或PT_BEZIERTO類型可以使用位運算子 OR 來結合下列值,以指出對應的點是圖的最後一個點,而且該圖已關閉。

意義
PT_CLOSEFIGURE
指定在完成此點的PT_LINETO或PT_BEZIERTO類型之後,圖表會自動關閉。 線條會從這個點繪製到最新的PT_MOVETO或 MoveToEx 點。

這個值會與線條的PT_LINETO類型結合,或是使用位運算子 OR 與 Bézier 曲線結束點的PT_BEZIERTO類型結合。

目前的位置會設定為結束線的結束點。

[in] cpt

lppt陣列中的點總數,與lpbTypes陣列中的位元組數目相同。

傳回值

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。

備註

PolyDraw函式可用來取代MoveToExLineToPolyBezierTo函式的連續呼叫,以繪製不連續的圖表。 線條和曲線是使用目前的畫筆繪製,而且圖形不會填滿。 如果呼叫 BeginPath開始有作用中路徑, PolyDraw 會新增至路徑。

lppt陣列和lpbTypes陣列中包含的點會指出每個點是否為MoveTo、LineToPolyBezierTo作業的一部分。 您也可以關閉圖表。

此函式會更新目前的位置。

規格需求

   
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 wingdi.h (包含 Windows.h)
程式庫 Gdi32.lib
Dll Gdi32.dll

另請參閱

BeginPath

EndPath

線條和曲線函式

LineTo

線條和曲線概觀

MoveToEx

PolyBezierTo

PolyLine