다음을 통해 공유


GraphicsPath::AddCurve(constPointF*,INT,INT,INT,REAL) 메서드(gdipluspath.h)

GraphicsPath::AddCurve 메서드는 이 경로의 현재 그림에 카디널 스플라인을 추가합니다.

구문

Status AddCurve(
  [in] const PointF *points,
  [in] INT          count,
  [in] INT          offset,
  [in] INT          numberOfSegments,
  [in] REAL         tension
);

매개 변수

[in] points

형식: const PointF*

카디널 스플라인을 정의하는 점 배열에 대한 포인터입니다. 카디널 스플라인은 배열에 있는 점의 하위 집합( offsetnumberOfSegments 매개 변수로 지정됨)을 통과하는 곡선입니다.

[in] count

형식: INT

배열의 요소 수를 지정하는 정수입니다.

[in] offset

형식: INT

카디널 스플라인의 첫 번째 지점으로 사용되는 배열 요소의 인덱스를 지정하는 정수입니다.

[in] numberOfSegments

형식: INT

카디널 스플라인의 세그먼트 수를 지정하는 정수입니다. 세그먼트는 배열의 연속 지점을 연결하는 곡선입니다.

[in] tension

형식: REAL

곡선의 길이와 곡선이 구부러지는 방식을 제어하는 무수 실수입니다. 값 0은 스플라인이 직선 세그먼트 시퀀스임을 지정합니다. 값이 증가하면 곡선이 더 충만해집니다.

반환 값

형식: 상태

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

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

설명

나중에 해당 점이 필요한 경우 배열의 복사본을 유지해야 합니다. GraphicsPath 개체는 AddClosedCurve 메서드에 전달된 점을 저장하지 않습니다. 대신, 카디널 스플라인을 Bézier 스플라인 시퀀스로 변환하고 해당 Bézier 스플라인을 정의하는 점을 저장합니다. GraphicsPath 개체에서 원래 점 배열을 검색할 수 없습니다.

예제

다음 예제에서는 GraphicsPath 개체 경로를 만들고 경로에 카디널 스플라인을 추가한 다음 경로를 그립니다. 스플라인은 8개의 점 배열에서 2에서 6까지 인덱싱된 포인트에서 빌드됩니다.

VOID AddCurveExample3(HDC hdc)
{
   Graphics graphics(hdc);
   GraphicsPath path;
   
   PointF pts[] = {PointF(50.0f, 50.0f),
                  PointF(70.0f, 80.0f),
                  PointF(100.0f, 100.0f),
                  PointF(130.0f, 40.0f),
                  PointF(150.0f, 90.0f),
                  PointF(180.0f, 30.0f),
                  PointF(210.0f, 120.0f),
                  PointF(240.0f, 80.0f)};
   path.AddCurve(
      pts, 
      8,     // There are eight points in the array. 
      2,     // Start at the point with index 2.
      4,     // Four segments. End at the point with index 6.
      1.0f);
   Pen pen(Color(255, 0, 0, 255));
   graphics.DrawPath(&pen, &path);
   // Draw all eight points in the array.
   SolidBrush brush(Color(255, 255, 0, 0));
   for(INT j = 0; j <= 7; ++j)
      graphics.FillEllipse(&brush, pts[j].X - 3.0f, pts[j].Y - 3.0f, 6.0f, 6.0f); 
}
Color(255, 255, 0,  0)

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP, Windows 2000 Professional [데스크톱 앱만 해당]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 gdipluspath.h(Gdiplus.h 포함)
라이브러리 Gdiplus.lib
DLL Gdiplus.dll

추가 정보

AddBezier 메서드

AddBeziers 메서드

AddClosedCurve 메서드

AddCurve 메서드

카디널 스플라인

지역을 사용하여 클리핑

경로 구성 및 그리기

경로 그라데이션 만들기

카디널 스플라인 그리기

Graphicspath

경로

Pointf