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 構造体の配列へのポインター。

[in] aj

lppt 配列内の各ポイントの使用方法を指定する配列へのポインター。 このパラメーターには、次の値のいずれかを指定できます。

Type 説明
PT_MOVETO
このポイントが不整合な図形を開始することを指定します。 このポイントが新しい現在位置になります。
PT_LINETO
現在の位置からこのポイントまでの線を描画し、新しい現在位置に設定します。
PT_BEZIERTO
この点がベジエ曲線のコントロール ポイントまたは終了点であることを指定します。

PT_BEZIERTO型は、常に 3 つのセットで発生します。 現在位置は、ベジエ曲線の始点を定義します。 最初の 2 つのPT_BEZIERTO ポイントはコントロール ポイント、3 番目のPT_BEZIERTO ポイントは終了点です。 終了点が新しい現在位置になります。 連続するPT_BEZIERTO ポイントが 3 つない場合は、エラーが発生します。

 

ビットごとの演算子 OR を使用して、対応するポイントが図の最後のポイントであり、図形が閉じられていることを示すことで、PT_LINETO型またはPT_BEZIERTO型を次の値と組み合わせることができます。

説明
PT_CLOSEFIGURE
このポイントのPT_LINETOまたはPT_BEZIERTOの種類が完了した後に、図形が自動的に閉じられることを指定します。 このポイントから最新のPT_MOVETOまたは MoveToEx ポイントに線が描画されます。

この値は、ビットごとの演算子 OR を使用して、線のPT_LINETO型、またはベジエ曲線の終了点のPT_BEZIERTO型と組み合わされます。

現在位置は、終了ラインの終了点に設定されます。

[in] cpt

lppt 配列内のポイントの合計数。lpbTypes 配列のバイト数と同じです。

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。

解説

PolyDraw 関数は、MoveToEx、LineToPolyBezierTo 関数を連続して呼び出す代わりに使用して、不整合な図形を描画できます。 線と曲線は現在のペンを使用して描画され、図形は塗りつぶされません。 BeginPath を呼び出して開始されたアクティブパスがある場合、PolyDraw はそのパスにを追加します。

lppt 配列と lpbTypes 配列に含まれるポイントは、各ポイントが MoveToLineToまたは PolyBezierTo 操作の一部であるかどうかを示します。 フィギュアを閉じることもできます。

この関数は、現在の位置を更新します。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wingdi.h (Windows.h を含む)
Library Gdi32.lib
[DLL] Gdi32.dll

関連項目

BeginPath

EndPath

線関数と曲線関数

Lineto

線と曲線の概要

MoveToEx

ポイント

PolyBezierTo

ポリライン