次の方法で共有


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

こちらもご覧ください

ベジエ スプライン

DrawBezier メソッド

ベジエ スプラインの描画

DrawBeziers

グラフィックス

ペン

Pointf