Graphics::D rawBeziers(constPen*,constPoint*,INT) 메서드(gdiplusgraphics.h)
Graphics::D rawBeziers 메서드는 연결된 Bézier 스플라인의 시퀀스를 그립니다.
통사론
Status DrawBeziers(
[in] const Pen *pen,
[in] const Point *points,
[in] INT count
);
매개 변수
[in] pen
형식: const 펜*
Bézier 스플라인을 그리는 데 사용되는 펜에 대한 포인터입니다.
[in] points
형식: const 지점*
Bézier 스플라인의 시작, 끝 및 제어점을 지정하는 Point 개체 배열에 대한 포인터입니다. 한 베지어 스플라인의 끝 좌표는 다음 베지어 스플라인의 시작 좌표입니다.
[in] count
형식: INT
요소 수 배열의 요소 수를 지정하는 정수입니다.
반환 값
형식: 상태
메서드가 성공하면 상태 열거형의 요소인 Ok를 반환합니다.
메서드가 실패하면 상태 열거형의 다른 요소 중 하나를 반환합니다.
발언
Bézier 스플라인은 제어점을 통과하지 않습니다. 제어점은 자석 역할을 하며, 특정 방향으로 곡선을 당겨 베지어 스플라인이 구부러지는 방식에 영향을 줍니다.
예제
다음 예제에서는 한 쌍의 베지어 곡선을 그립니다.
VOID Example_DrawBeziers(HDC hdc)
{
Graphics graphics(hdc);
// Define a Pen object and an array of Point objects.
Pen greenPen(Color(255, 0, 255, 0), 3);
Point startPoint(100, 100);
Point ctrlPoint1(200, 50);
Point ctrlPoint2(400, 10);
Point endPoint1(500, 100);
Point ctrlPoint3(600, 200);
Point ctrlPoint4(700, 400);
Point endPoint2(500, 500);
Point 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));
}
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP, Windows 2000 Professional [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | gdiplusgraphics.h(Gdiplus.h 포함) |
라이브러리 | Gdiplus.lib |
DLL | Gdiplus.dll |
참고 항목
drawBezier 메서드