Graphics::D rawBeziers(constPen*,constPointF*,INT) メソッド (gdiplusgraphics.h)
Graphics::D rawBeziers メソッドは、接続されたベジエ スプラインのシーケンスを描画します。
構文
Status DrawBeziers(
const Pen *pen,
const PointF *points,
INT count
);
パラメーター
pen
ベジエ スプラインの描画に使用されるペンへのポインター。
points
ベジエ スプラインの始点、終点、および制御点を指定する PointF オブジェクトの配列へのポインター。
count
ポイント配列内の要素の数を指定する整数。
戻り値
メソッドが成功した場合は、Status 列挙の要素である Ok を返します。
メソッドが失敗した場合は、 Status 列挙体の他の要素のいずれかを返します。
注釈
ベジエ スプラインはコントロール ポイントを通過しません。 コントロール ポイントは磁石として機能し、ベジェ スプラインの曲げ方に影響を与えるために特定の方向に曲線を引っ張ります。 各ベジエ スプラインには、開始点と終了点が必要です。 各終了点は、次のベジエ スプラインの開始点です。
例
次の例では、ベジエ曲線のペアを描画します。
VOID Example_DrawBeziers2(HDC hdc)
{
Graphics graphics(hdc);
// Define a Pen object and an array of PointF objects.
Pen greenPen(Color(255, 0, 255, 0), 3);
PointF startPoint(100.0f, 100.0f);
PointF ctrlPoint1(200.0f, 50.0f);
PointF ctrlPoint2(400.0f, 10.0f);
PointF endPoint1(500.0f, 100.0f);
PointF ctrlPoint3(600.0f, 200.0f);
PointF ctrlPoint4(700.0f, 400.0f);
PointF endPoint2(500.0f, 500.0f);
PointF 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));
}
要件
要件 | 値 |
---|---|
Header | gdiplusgraphics.h |