Windows GDI+는 Gdiplus.dll 구현되고 Gdiplusflat.h에 선언된 약 600개의 함수로 구성된 플랫 API를 노출합니다. GDI+ 플랫 API의 함수는 약 40개의 C++ 클래스 컬렉션으로 래핑됩니다. 플랫 API에서 함수를 직접 호출하지 않는 것이 좋습니다. GDI+를 호출할 때마다 C++ 래퍼에서 제공하는 메서드 및 함수를 호출하여 호출해야 합니다. Microsoft 제품 지원 서비스는 플랫 API를 직접 호출하는 코드에 대한 지원을 제공하지 않습니다. 이러한 래퍼 메서드를 사용하는 방법에 대한 자세한 내용은 GDI+ Flat API 참조하세요.
다음 플랫 API 함수는 GraphicsPath C++ 클래스에 의해 래핑됩니다.
GraphicsPath 함수 및 해당 래퍼 메서드
| 플랫 함수 | 래퍼 메서드 | 발언 |
|---|---|---|
| GpStatus WINGDIPAPI GdipCreatePath(GpFillMode fillMode, GpPath **path) |
GraphicsPath::GraphicsPath(IN FillMode fillMode = FillModeAlternate) | GraphicsPath 개체를 만들고 채우기 모드를 초기화합니다. 기본 생성자입니다. |
| GpStatus WINGDIPAPI GdipCreatePath2(GDIPCONST GpPointF* points, GDIPCONST BYTE* 형식, INT count, GpFillMode fillMode, GpPath **path) |
GraphicsPath::GraphicsPath(IN const PointF* points, IN const BYTE* 형식, IN INT count, IN FillMode fillMode = FillModeAlternate) | 점 배열, 형식 배열 및 채우기 모드를 기반으로 GraphicsPath 개체를 만듭니다. |
| GpStatus WINGDIPAPI GdipCreatePath2I(GDIPCONST GpPoint* points, GDIPCONST BYTE* 형식, INT count, GpFillMode fillMode, GpPath **path) |
GraphicsPath::GraphicsPath(IN const Point* points, IN const BYTE* 형식, IN INT count, IN FillMode fillMode = FillModeAlternate) | 점 배열, 형식 배열 및 채우기 모드를 기반으로 GraphicsPath 개체를 만듭니다. |
| GpStatus WINGDIPAPI GdipClonePath(GpPath* 경로, GpPath **clonePath) |
GraphicsPath::GraphicsPath* Clone() const | 새 GraphicsPath 개체를 만들고 이 GraphicsPath 개체의 내용으로 초기화합니다. |
| GpStatus WINGDIPAPI GdipDeletePath(GpPath* 경로) |
GraphicsPath::~GraphicsPath() |
GraphicsPath 개체에서 사용하는 리소스를 해제합니다. |
| GpStatus WINGDIPAPI GdipResetPath(GpPath* 경로) |
GraphicsPath::Reset | 경로를 비우고 채우기 모드를 FillModeAlternate로 설정합니다. |
| GpStatus WINGDIPAPI GdipGetPointCount(GpPath* 경로, INT* 개수) |
INT GraphicsPath::GetPointCount | 이 경로의 데이터 요소 배열에 있는 점 수를 가져옵니다. 이는 경로의 점 형식 배열에 있는 형식 수와 동일합니다. |
| GpStatus WINGDIPAPI GdipGetPathTypes(GpPath* path, BYTE* 형식, INT count) |
Status GraphicsPath::GetPathTypes(OUT BYTE* 형식, IN INT 개수) const | 이 경로의 점 형식 배열을 가져옵니다. |
| GpStatus WINGDIPAPI GdipGetPathPoints(GpPath*, GpPointF* points, INT count) |
Status GraphicsPath::GetPathPoints(OUT PointF* points, INT count) const | 이 경로의 점 배열을 가져옵니다. 배열에는 경로를 그리는 데 사용되는 선 및 Bézier 스플라인의 엔드포인트 및 제어점이 포함됩니다. |
| GpStatus WINGDIPAPI GdipGetPathPointsI(GpPath*, GpPoint* points, INT count) |
Status GraphicsPath::GetPathPoints(OUT Point* points, IN INT count) const | 이 경로의 점 배열을 가져옵니다. 배열에는 경로를 그리는 데 사용되는 선 및 Bézier 스플라인의 엔드포인트 및 제어점이 포함됩니다. |
| GpStatus WINGDIPAPI GdipGetPathFillMode(GpPath *path, GpFillMode *fillmode) |
FillMode GraphicsPath::GetFillMode() const | 이 경로의 채우기 모드를 가져옵니다. |
| GpStatus WINGDIPAPI GdipSetPathFillMode(GpPath *path, GpFillMode fillmode) |
Status GraphicsPath::SetFillMode(IN FillMode fillmode) | 이 경로의 채우기 모드를 설정합니다. |
| GpStatus WINGDIPAPI GdipGetPathData(GpPath *path, GpPathData* pathData) |
Status GraphicsPath::GetPathData(OUT PathData* pathData) const | 이 경로에서 점 배열과 점 형식의 배열을 가져옵니다. 이러한 두 배열은 함께 이 경로의 선, 곡선, 그림 및 표식을 정의합니다. |
| GpStatus WINGDIPAPI GdipStartPathFigure(GpPath *path) |
Status GraphicsPath::StartFigure() | 현재 그림을 닫지 않고 새 그림을 시작합니다. 이 경로에 추가된 후속 지점이 새 그림에 추가됩니다. |
| GpStatus WINGDIPAPI GdipClosePathFigure(GpPath *path) |
Status GraphicsPath::CloseFigure() | 이 경로의 현재 그림을 닫습니다. |
| GpStatus WINGDIPAPI GdipClosePathFigures(GpPath *path) |
Status GraphicsPath::CloseAllFigures() | 이 경로의 열려 있는 모든 그림을 닫습니다. |
| GpStatus WINGDIPAPI GdipSetPathMarker(GpPath* 경로) |
Status GraphicsPath::SetMarker() | 이 경로의 마지막 점을 표식점으로 지정합니다. |
| GpStatus WINGDIPAPI GdipClearPathMarkers(GpPath* 경로) |
Status GraphicsPath::ClearMarkers() | 이 경로에서 표식을 지웁니다. |
| GpStatus WINGDIPAPI GdipReversePath(GpPath* 경로) |
Status GraphicsPath::Reverse() | 이 경로의 선과 곡선을 정의하는 점의 순서를 반대로 바뀝니다. |
| GpStatus WINGDIPAPI GdipGetPathLastPoint(GpPath* path, GpPointF* lastPoint) |
상태 GraphicsPath::GetLastPoint(OUT PointF* lastPoint) const | 이 경로에 있는 마지막 그림의 끝점을 가져옵니다. |
| GpStatus WINGDIPAPI GdipAddPathLine(GpPath *path, REAL x1, REAL y1, REAL x2, REAL y2) |
Status GraphicsPath::AddLine(IN REAL x1, IN REAL y1, IN REAL x2, IN REAL y2) | 이 경로의 현재 그림에 선을 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathLine2(GpPath *path, GDIPCONST GpPointF *points, INT count) |
Status GraphicsPath::AddLines(IN const PointF* points, IN INT count) | 이 경로의 현재 그림에 연결된 선 시퀀스를 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathArc(GpPath *path, REAL x, REAL y, REAL width, REAL height, REAL startAngle, REAL sweepAngle) |
Status GraphicsPath::AddArc(IN REAL x, IN REAL y, IN REAL Width, IN REAL height, IN REAL startAngle, IN REAL sweepAngle) | 이 경로의 현재 그림에 타원형 호를 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathBezier(GpPath *path, REAL x1, REAL y1, REAL x2, REAL y2, REAL x3, REAL y3, REAL x4, REAL y4) |
상태 GraphicsPath::AddBezier(IN REAL x1, IN REAL y1, IN REAL x2, IN REAL y2, IN REAL x3, IN REAL y3, IN REAL x4, IN REAL y4) | 이 경로의 현재 그림에 Bézier 스플라인을 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathBeziers(GpPath *path, GDIPCONST GpPointF *points, INT count) |
Status GraphicsPath::AddBeziers(IN const PointF* points, IN INT count) | 연결된 Bézier 스플라인 시퀀스를 이 경로의 현재 그림에 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathCurve(GpPath *path, GDIPCONST GpPointF *points, INT count) |
Status GraphicsPath::AddCurve(IN const PointF* points, IN INT count) | 이 경로의 현재 그림에 카디널 스플라인을 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathCurve2(GpPath *path, GDIPCONST GpPointF *points, INT count, REAL tension) |
Status GraphicsPath::AddCurve(IN const PointF* points, IN INT count, IN REAL tension) | 이 경로의 현재 그림에 카디널 스플라인을 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathCurve3(GpPath *path, GDIPCONST GpPointF *points, INT count, INT offset, INT numberOfSegments, REAL tension) |
Status GraphicsPath::AddCurve(IN const PointF* points, IN INT count, IN INT offset, IN INT numberOfSegments, IN REAL tension) | 이 경로의 현재 그림에 카디널 스플라인을 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathClosedCurve(GpPath *path, GDIPCONST GpPointF *points, INT count) |
Status GraphicsPath::AddClosedCurve(IN const PointF* points, IN INT count) | 이 경로에 닫힌 카디널 스플라인을 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathClosedCurve2(GpPath *path, GDIPCONST GpPointF *points, INT count, REAL tension) |
Status GraphicsPath::AddClosedCurve(IN const PointF* points, IN INT count, IN REAL tension) | 이 경로에 닫힌 카디널 스플라인을 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathRectangle(GpPath *path, REAL x, REAL y, REAL width, REAL height) |
Status GraphicsPath::AddRectangle(IN const RectF& rect) | 이 경로에 사각형을 추가합니다. x, y, 너비및 플랫 함수의 높이 매개 변수는 래퍼 메서드의 사각형 매개 변수에 해당하는 사각형을 지정합니다. |
| GpStatus WINGDIPAPI GdipAddPathRectangles(GpPath *path, GDIPCONST GpRectF *rects, INT count) |
Status GraphicsPath::AddRectangles(IN const RectF* rects, IN INT count) | 이 경로에 직사각형 시퀀스를 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathEllipse(GpPath *path, REAL x, REAL y, REAL width, REAL height) |
Status GraphicsPath::AddEllipse(IN REAL x, IN REAL y, IN REAL width, IN REAL height) | 이 경로에 줄임표를 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathPie(GpPath *path, REAL x, REAL y, REAL width, REAL height, REAL startAngle, REAL sweepAngle) |
Status GraphicsPath::AddPie(IN REAL x, IN REAL y, IN REAL Width, IN REAL height, IN REAL startAngle, IN REAL sweepAngle) | 이 경로에 원형을 추가합니다. 호는 타원의 일부이며, 원형은 타원으로 묶인 영역의 부분입니다. 원형은 원호와 타원의 중심에서 호 끝점으로 이동하는 두 개의 선(가장자리)으로 제한됩니다. |
| GpStatus WINGDIPAPI GdipAddPathPolygon(GpPath *path, GDIPCONST GpPointF *points, INT count) |
Status GraphicsPath::AddPolygon(IN const PointF* points, IN INT count) | 이 경로에 다각형을 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathPath(GpPath *path, GDIPCONST GpPath* addingPath, BOOL connect) |
Status GraphicsPath::AddPath(IN const GraphicsPath* addPath, IN BOOL connect) | 이 경로에 경로를 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathString(GpPath *path, GDIPCONST WCHAR *string, INT length, GDIPCONST GpFontFamily *family, INT style, REAL emSize, GDIPCONST RectF *layoutRect, GDIPCONST GpStringFormat *format) |
Status GraphicsPath::AddString( IN const WCHAR *string, IN INT length, IN const FontFamily *family, IN INT style, IN REAL emSize, IN const RectF &layoutRect, IN const StringFormat *format ) | 이 경로에 문자열의 윤곽선을 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathStringI(GpPath *path, GDIPCONST WCHAR *string, INT length, GDIPCONST GpFontFamily *family, INT style, REAL emSize, GDIPCONST Rect *layoutRect, GDIPCONST GpStringFormat *format) |
Status GraphicsPath::AddString( IN const WCHAR *string, IN INT length, IN const FontFamily *family, IN INT style, IN REAL emSize, IN const Rect &layoutRect, IN const StringFormat *format ) | 이 경로에 문자열의 윤곽선을 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathLineI(GpPath *path, INT x1, INT y1, INT x2, INT y2) |
Status GraphicsPath::AddLine(IN INT x1, IN INT y1, IN INT x2, IN INT y2) | 이 경로의 현재 그림에 선을 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathLine2I(GpPath *path, GDIPCONST GpPoint *points, INT count) |
Status GraphicsPath::AddLines(IN const Point* points, IN INT count) | 이 경로의 현재 그림에 연결된 선 시퀀스를 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathArcI(GpPath *path, INT x, INT y, INT width, INT height, REAL startAngle, REAL sweepAngle) |
Status GraphicsPath::AddArc(IN INT x, IN INT y, INT width, IN INT height, IN REAL startAngle, IN REAL sweepAngle) | 이 경로의 현재 그림에 타원형 호를 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathBezierI(GpPath *path, INT x1, INT y1, INT x2, INT y2, INT x3, INT y3, INT x4, INT y4) |
상태 그래픽 경로::AddBezier(IN INT x1, IN INT y1, IN INT x2, IN INT y2, IN INT x3, IN INT y3, IN INT x4, IN INT y4) | 이 경로의 현재 그림에 Bézier 스플라인을 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathBeziersI(GpPath *path, GDIPCONST GpPoint *points, INT count) |
Status GraphicsPath::AddBeziers(IN const Point* points, IN INT count) | 이 경로의 현재 그림에 Bézier 스플라인을 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathCurveI(GpPath *path, GDIPCONST GpPoint *points, INT count) |
Status GraphicsPath::AddCurve(IN const Point* points, IN INT count) | 이 경로의 현재 그림에 카디널 스플라인을 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathCurve2I(GpPath *path, GDIPCONST GpPoint *points, INT count, REAL tension) |
Status GraphicsPath::AddCurve(IN const Point* points, IN INT count, IN REAL tension) | 이 경로의 현재 그림에 카디널 스플라인을 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathCurve3I(GpPath *path, GDIPCONST GpPoint *points, INT count, INT offset, INT numberOfSegments, REAL tension) |
Status GraphicsPath::AddCurve(IN const Point* points, IN INT count, IN INT offset, IN INT numberOfSegments, IN REAL tension) | 이 경로의 현재 그림에 카디널 스플라인을 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathClosedCurveI(GpPath *path, GDIPCONST GpPoint *points, INT count) |
Status GraphicsPath::AddClosedCurve(IN const Point* points, IN INT count) | 이 경로에 닫힌 카디널 스플라인을 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathClosedCurve2I(GpPath *path, GDIPCONST GpPoint *points, INT count, REAL tension) |
Status GraphicsPath::AddClosedCurve(IN const Point* points, IN INT count, IN REAL tension) | 이 경로에 닫힌 카디널 스플라인을 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathRectangleI(GpPath *path, INT x, INT y, INT width, INT height) |
Status GraphicsPath::AddRectangle(IN const Rect& rect) | 이 경로에 사각형을 추가합니다. x, y, 너비및 플랫 함수의 높이 매개 변수는 래퍼 메서드의 사각형 매개 변수에 해당하는 사각형을 지정합니다. |
| GpStatus WINGDIPAPI GdipAddPathRectanglesI(GpPath *path, GDIPCONST GpRect *rects, INT count) |
Status GraphicsPath::AddRectangles(IN const Rect* rects, INT count) | 이 경로에 직사각형 시퀀스를 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathEllipseI(GpPath *path, INT x, INT y, INT width, INT height) |
Status GraphicsPath::AddEllipse(IN INT x, IN INT y, IN INT width, IN INT height) | 이 경로에 줄임표를 추가합니다. |
| GpStatus WINGDIPAPI GdipAddPathPieI(GpPath *path, INT x, INT y, INT width, INT height, REAL startAngle, REAL sweepAngle) |
Status GraphicsPath::AddPie(IN INT x, IN INT y, INT width, IN INT height, IN REAL startAngle, IN REAL sweepAngle) | 이 경로에 원형을 추가합니다. 호는 타원의 일부이며, 원형은 타원으로 묶인 영역의 부분입니다. 원형은 원호와 타원의 중심에서 호 끝점으로 이동하는 두 개의 선(가장자리)으로 제한됩니다. |
| GpStatus WINGDIPAPI GdipAddPathPolygonI(GpPath *path, GDIPCONST GpPoint *points, INT count) |
Status GraphicsPath::AddPolygon(IN const Point* points, IN INT count) | 이 경로에 다각형을 추가합니다. |
| GpStatus WINGDIPAPI GdipFlattenPath(GpPath *path, GpMatrix* 행렬, REAL 평탄도) |
Status GraphicsPath::Flatten(IN const Matrix* matrix = NULL, IN REAL flatness = FlatnessDefault) | 이 경로에 변환을 적용하고 경로의 각 곡선을 연결된 선 시퀀스로 변환합니다. |
| GpStatus WINGDIPAPI GdipWindingModeOutline( GpPath *path, GpMatrix *matrix, REAL flatness ) |
Status GraphicsPath::Outline( IN const Matrix *matrix = NULL, IN REAL flatness = FlatnessDefault ) | 이 경로를 변환하고 평면화한 다음 경로의 윤곽선만 나타내도록 이 경로의 데이터 요소를 변환합니다. |
| GpStatus WINGDIPAPI GdipWidenPath( GpPath *nativePath, GpPen *pen, GpMatrix *matrix, REAL flatness) |
Status GraphicsPath::Widen( IN const Pen* 펜, IN const Matrix* matrix = NULL, IN REAL flatness = FlatnessDefault ) | 이 경로를 지정된 펜으로 그릴 때 채워진 영역을 둘러싸는 곡선으로 바꿉니다. 이 메서드는 경로를 평면화합니다. |
| GpStatus WINGDIPAPI GdipWarpPath(GpPath *path, GpMatrix* matrix, GDIPCONST GpPointF *points, INT count, REAL srcx, REAL srcy, REAL srcwidth, REAL srcheight, WarpMode warpMode, REAL flatness) |
Status GraphicsPath::Warp(IN const PointF* destPoints, IN INT count, IN const RectF& srcRect, IN const Matrix* matrix = NULL, IN WarpMode warpMode = WarpModePerspective, IN REAL flatness = FlatnessDefault) | 이 경로에 워프 변환을 적용합니다. 또한 이 메서드는 경로를 평면화(직선 시퀀스로 변환)합니다. srcx, srcy, srcwidth및 플랫 함수의 srcheight 매개 변수는 래퍼 메서드의 srcRect 매개 변수에 해당하는 사각형을 지정합니다. |
| GpStatus WINGDIPAPI GdipTransformPath(GpPath* 경로, GpMatrix* 행렬) |
Status GraphicsPath::Transform(IN const Matrix* 행렬) | 이 경로의 각 데이터 요소를 지정된 행렬로 곱합니다. |
| GpStatus WINGDIPAPI GdipGetPathWorldBounds(GpPath* path, GpRectF* 경계, GDIPCONST GpMatrix *matrix, GDIPCONST GpPen *pen) |
Status GraphicsPath::GetBounds(OUT RectF* 경계, IN const Matrix* 행렬, IN const 펜* 펜) const | 이 경로에 대한 경계 사각형을 가져옵니다. |
| GpStatus WINGDIPAPI GdipGetPathWorldBoundsI(GpPath* path, GpRect* 경계, GDIPCONST GpMatrix *matrix, GDIPCONST GpPen *pen) |
Status GraphicsPath::GetBounds(OUT Rect* 경계, IN const Matrix* 행렬, IN const 펜* 펜) const | 이 경로에 대한 경계 사각형을 가져옵니다. |
| GpStatus WINGDIPAPI GdipIsVisiblePathPoint(GpPath* path, REAL x, REAL y, GpGraphics *graphics, BOOL *result) |
BOOL GraphicsPath::IsVisible(IN REAL x, IN REAL y, IN const Graphics* g) const | 지정된 Graphics 개체로 이 경로를 채울 때 지정된 점이 채워진 영역에 있는지 여부를 확인합니다. |
| GpStatus WINGDIPAPI GdipIsVisiblePathPointI(GpPath* path, INT x, INT y, GpGraphics *graphics, BOOL *result) |
BOOL GraphicsPath::IsVisible(IN INT x, IN INT y, IN const Graphics* g) const | 지정된 Graphics 개체로 이 경로를 채울 때 지정된 점이 채워진 영역에 있는지 여부를 확인합니다. |
| GpStatus WINGDIPAPI GdipIsOutlineVisiblePathPoint(GpPath* path, REAL x, REAL y, GpPen *pen, GpGraphics *graphics, BOOL *result) |
BOOL GraphicsPath::IsOutlineVisible(IN REAL x, IN REAL y, IN const Pen* 펜, IN const Graphics* g) const | 지정한 Graphics 개체 및 지정된 펜으로 경로를 그릴 때 지정된 점이 이 경로의 윤곽선에 닿는지 여부를 결정합니다. |
| GpStatus WINGDIPAPI GdipIsOutlineVisiblePathPointI(GpPath* path, INT x, INT y, GpPen *pen, GpGraphics *graphics, BOOL *result) |
BOOL GraphicsPath::IsOutlineVisible(IN INT x, IN INT y, IN const 펜* 펜, IN const Graphics* g) const | 지정한 Graphics 개체 및 지정된 펜으로 경로를 그릴 때 지정된 점이 이 경로의 윤곽선에 닿는지 여부를 결정합니다. |