다음을 통해 공유


Graphics::D rawBezier(constPen*,REAL,REAL,REAL,REAL,REAL,REAL,REAL,REAL,REAL) 메서드(gdiplusgraphics.h)

Graphics::D rawBezier 메서드는 베지어 스플라인을 그립니다.

구문

Status DrawBezier(
  const Pen *pen,
  REAL      x1,
  REAL      y1,
  REAL      x2,
  REAL      y2,
  REAL      x3,
  REAL      y3,
  REAL      x4,
  REAL      y4
);

매개 변수

pen

Bézier 스플라인을 그리는 데 사용되는 펜에 대한 포인터입니다.

x1

Bézier 스플라인의 시작점 x 좌표를 지정하는 실수입니다.

y1

Bézier 스플라인의 시작점 y 좌표를 지정하는 실수입니다.

x2

Bézier 스플라인의 첫 번째 제어점 x 좌표를 지정하는 실수입니다.

y2

Bézier 스플라인의 첫 번째 제어점의 y 좌표를 지정하는 실수입니다.

x3

Bézier 스플라인의 두 번째 제어점 x 좌표를 지정하는 실수입니다.

y3

Bézier 스플라인의 두 번째 제어점 y 좌표를 지정하는 실수입니다.

x4

Bézier 스플라인 끝점의 x 좌표를 지정하는 실수입니다.

y4

Bézier 스플라인 끝점의 y 좌표를 지정하는 실수입니다.

반환 값

메서드가 성공하면 Status 열거형의 요소인 확인을 반환합니다.

메서드가 실패하면 Status 열거형의 다른 요소 중 하나를 반환합니다.

설명

Bézier 스플라인은 제어점을 통과하지 않습니다. 제어점은 자석 역할을 하며, 특정 방향으로 곡선을 당겨 베지어 스플라인이 구부러지는 방식에 영향을 줍니다.

예제

다음 예제에서는 베지어 곡선을 그립니다.

VOID Example_DrawBezier4(HDC hdc)
{
   Graphics graphics(hdc);

   // Set up the pen and curve points.
   Pen greenPen(Color(255, 0, 255, 0));
   REAL startPointx = 100.0f;
   REAL startPointy = 100.0f;
   REAL ctrlPoint1x = 200.0f;
   REAL ctrlPoint1y = 10.0f;
   REAL ctrlPoint2x = 350.0f;
   REAL ctrlPoint2y = 50.0f;
   REAL endPointx = 500.0f;
   REAL endPointy = 100.0f;

   //Draw the curve.
   graphics.DrawBezier(
   &greenPen,
   startPointx,
   startPointy,
   ctrlPoint1x,
   ctrlPoint1y,
   ctrlPoint2x,
   ctrlPoint2y,
   endPointx,
   endPointy);

   //Draw the end points and control points.
   SolidBrush redBrush(Color(255, 255, 0, 0));
   SolidBrush blueBrush(Color(255, 0, 0, 255));
   graphics.FillEllipse(&redBrush, 100 - 5, 100 - 5, 10, 10);
   graphics.FillEllipse(&redBrush, 500 - 5, 100 - 5, 10, 10);
   graphics.FillEllipse(&blueBrush, 200 - 5, 10 - 5, 10, 10);
   graphics.FillEllipse(&blueBrush, 350 - 5, 50 - 5, 10, 10);
}

요구 사항

요구 사항
헤더 gdiplusgraphics.h

추가 정보

그래픽

DrawBezier

DrawBeziers 메서드

베지어 스플라인 그리기

베지어 스플라인