<Return[PQ]><Top>

PolyBezier

Declare Function Api_PolyBezier& Lib "gdi32" Alias "PolyBezier" (ByVal hDC&, lppt As POINTAPI, ByVal cPoints&)

Declare Function PolyBezier Lib "gdi32" Alias "PolyBezier" (ByVal hdc As Long, lppt As POINTAPI, ByVal cPoints As Long) As Long

1 つまたは複数のベジエ曲線を描画する。

パラメータ
hdc
    デバイスコンテキストのハンドルを指定する。
lppt
    複数の POINT 構造体からなる 1 つの配列へのポインタを指定する。各構造体で、ベジエ曲線の端点または制御点を指定する。
cPoints
    lppt 配列内の点の数を指定する。この数は、描画するべき曲線の数の 3 倍より 1 大きい値でなければならない。

    1 つのベジエ曲線は、2 つの端点と 2 つの制御点によって定義されるものであるが、この関数は各曲線の終点を次の曲線の始点とする。

    そして、最初の曲線では始点も指定する必要がある。
 

戻り値
    関数が成功すると、0 以外の値が返る。
    関数が失敗すると、0 が返る。
    Windows NT/2000:拡張エラー情報を取得するには、GetLastError 関数を使う。

解説
    この関数は、lppt パラメータで指定された端点と制御点を使って 3 次ベジエ曲線を描画する。

    最初の曲線は、lppt パラメータ内の 1 番目から 4 番目の点を使い、そのうち 2 番目と 3 番目の点を制御点とする。

    それ以降の各曲線は、3 つの点を必要とする。

    各曲線の終点が次の曲線の始点を兼ねるからである。続く 2 つの点は制御点であり、3 番目の点は終点である。
    この関数は、現在の位置の使用や更新をしない。

    この関数が描画した図形は、閉じている場合であっても、この関数が塗りつぶすことはない。
    ベジエ曲線は現在のペンで描画される。