Graphics::D rawCurve(constPen*,constPointF*,INT) メソッド (gdiplusgraphics.h)
Graphics::D rawCurve メソッドは、カーディナル スプラインを描画します。
構文
Status DrawCurve(
const Pen *pen,
const PointF *points,
INT count
);
パラメーター
pen
カーディナル スプラインの描画に使用するペンへのポインター。
points
カーディナル スプラインが通過する座標を指定する PointF オブジェクトの配列へのポインター。
count
points 配列内の要素の数を指定する整数。
戻り値
メソッドが成功した場合は、Status 列挙体の要素である Ok を返します。
メソッドが失敗した場合は、 Status 列挙体の他の要素のいずれかを返します。
解説
セグメントは、カーディナル スプライン内の 2 つの連続する点を接続する曲線として定義されます。 各セグメントの終了点は、次のセグメントの開始点です。
例
次の例では、カーディナル スプラインを描画します。
VOID Example_DrawCurve4(HDC hdc)
{
Graphics graphics(hdc);
// Define a Pen object and an array of Point objects.
Pen greenPen(Color::Green, 3);
PointF point1(100.0f, 100.0f);
PointF point2(200.0f, 50.0f);
PointF point3(400.0f, 10.0f);
PointF point4(500.0f, 100.0f);
PointF curvePoints[4] = {
point1,
point2,
point3,
point4};
PointF* pcurvePoints = curvePoints;
// Draw the curve.
graphics.DrawCurve(&greenPen, curvePoints, 4);
//Draw the points in the curve.
SolidBrush redBrush(Color::Red);
graphics.FillEllipse(&redBrush, Rect(95, 95, 10, 10));
graphics.FillEllipse(&redBrush, Rect(195, 45, 10, 10));
graphics.FillEllipse(&redBrush, Rect(395, 5, 10, 10));
graphics.FillEllipse(&redBrush, Rect(495, 95, 10, 10));
}
必要条件
Header | gdiplusgraphics.h |