Graphics::D rawBeziers(constPen*,constPoint*,INT) メソッド (gdiplusgraphics.h)
Graphics::D rawBeziers メソッドは、接続されたベジエ スプラインのシーケンスを描画します。
構文
Status DrawBeziers(
[in] const Pen *pen,
[in] const Point *points,
[in] INT count
);
パラメーター
[in] pen
型: const Pen*
ベジエ スプラインの描画に使用されるペンへのポインター。
[in] points
型: const Point*
ベジエ スプラインの始点、終点、および制御点を指定する Point オブジェクトの配列へのポインター。 1 つのベジエ スプラインの終了座標は、次のベジエ スプラインの開始座標です。
[in] count
型: INT
配列の ポイント内の要素の数 指定する整数。
戻り値
型: 状態
メソッドが成功した場合は、ok を返します。これは、Status 列挙体の要素です。
メソッドが失敗した場合は、Status 列挙体の他の要素のいずれかを返します。
備考
ベジエ スプラインは、コントロール ポイントを通過しません。 制御点は磁石として機能し、ベジエ スプラインの曲げ方に影響を与えるために曲線を特定の方向に引っ張ります。
例
次の例では、ベジエ曲線のペアを描画します。
VOID Example_DrawBeziers(HDC hdc)
{
Graphics graphics(hdc);
// Define a Pen object and an array of Point objects.
Pen greenPen(Color(255, 0, 255, 0), 3);
Point startPoint(100, 100);
Point ctrlPoint1(200, 50);
Point ctrlPoint2(400, 10);
Point endPoint1(500, 100);
Point ctrlPoint3(600, 200);
Point ctrlPoint4(700, 400);
Point endPoint2(500, 500);
Point curvePoints[7] = {
startPoint,
ctrlPoint1,
ctrlPoint2,
endPoint1,
ctrlPoint3,
ctrlPoint4,
endPoint2};
// Draw the Bezier curves.
graphics.DrawBeziers(&greenPen, curvePoints, 7);
// Draw the control and end points.
SolidBrush redBrush(Color(255, 255, 0, 0));
graphics.FillEllipse(&redBrush, Rect(100 - 5, 100 - 5, 10, 10));
graphics.FillEllipse(&redBrush, Rect(500 - 5, 100 - 5, 10, 10));
graphics.FillEllipse(&redBrush, Rect(500 - 5, 500 - 5, 10, 10));
SolidBrush blueBrush(Color(255, 0, 0, 255));
graphics.FillEllipse(&blueBrush, Rect(200 - 5, 50 - 5, 10, 10));
graphics.FillEllipse(&blueBrush, Rect(400 - 5, 10 - 5, 10, 10));
graphics.FillEllipse(&blueBrush, Rect(600 - 5, 200 - 5, 10, 10));
graphics.FillEllipse(&blueBrush, Rect(700 - 5, 400 - 5, 10, 10));
}
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP、Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | gdiplusgraphics.h (Gdiplus.h を含む) |
ライブラリ | Gdiplus.lib |
DLL | Gdiplus.dll |
関連項目
ベジエ スプライン の描画
ポイント