Graphics::D rawCurve(constPen*,constPoint*,INT,INT,INT,REAL) メソッド (gdiplusgraphics.h)
Graphics::D rawCurve メソッドは、カーディナル スプラインを描画します。
構文
Status DrawCurve(
[in] const Pen *pen,
[in] const Point *points,
[in] INT count,
[in] INT offset,
[in] INT numberOfSegments,
[in] REAL tension
);
パラメーター
[in] pen
種類: const Pen*
カーディナル スプラインの描画に使用されるペンへのポインター。
[in] points
型: const Point*
カーディナル スプラインが通過する座標を指定する Point オブジェクトの配列へのポインター。
[in] count
型: INT
ポイント配列内の要素の数を指定する整数。
[in] offset
型: INT
カーディナル スプラインの始点を指定する points 配列内の要素を指定する整数。
[in] numberOfSegments
型: INT
カーディナル スプライン内のセグメント数を指定する整数。
[in] tension
種類: REAL
カーディナル スプラインの座標をカーブがどれだけ厳密に曲げるかを指定する実数。
戻り値
種類: 状態
メソッドが成功した場合は、 Status 列挙の要素である Ok を返します。
メソッドが失敗した場合は、 Status 列挙体の他の要素のいずれかを返します。
注釈
セグメントは、カーディナル スプライン内の 2 つの連続する点を接続する曲線として定義されます。 各セグメントの終了点は、次のセグメントの開始点です。 numberOfSegments パラメーターは、count パラメーターからオフセット パラメーターと 1 を引いた値より大きくすることはできません。
例
次の例では、カーディナル スプラインを描画します。
VOID Example_DrawCurve2(HDC hdc)
{
Graphics graphics(hdc);
// Define a Pen object and an array of Point objects.
Pen greenPen(Color::Green, 3);
Point point1(100, 100);
Point point2(200, 50);
Point point3(400, 10);
Point point4(500, 100);
Point curvePoints[4] = {
point1,
point2,
point3,
point4};
Point* pcurvePoints = curvePoints;
// Specify offset, number of segments to draw, and tension.
int offset = 1;
int segments = 2;
REAL tension = 1.0;
// Draw the curve.
graphics.DrawCurve(&greenPen, curvePoints, 4, offset, segments, tension);
//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));
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP、Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | gdiplusgraphics.h (Gdiplus.h を含む) |
Library | Gdiplus.lib |
[DLL] | Gdiplus.dll |