Windows GDI+는 Gdiplus.dll 구현되고 Gdiplusflat.h에 선언된 약 600개의 함수로 구성된 플랫 API를 노출합니다. GDI+ 플랫 API의 함수는 약 40개의 C++ 클래스 컬렉션으로 래핑됩니다. 플랫 API에서 함수를 직접 호출하지 않는 것이 좋습니다. GDI+를 호출할 때마다 C++ 래퍼에서 제공하는 메서드 및 함수를 호출하여 호출해야 합니다. Microsoft 제품 지원 서비스는 플랫 API를 직접 호출하는 코드에 대한 지원을 제공하지 않습니다. 이러한 래퍼 메서드를 사용하는 방법에 대한 자세한 내용은 GDI+ Flat API 참조하세요.
다음 플랫 API 함수는 Matrix C++ 클래스에 의해 래핑됩니다.
행렬 함수 및 해당 래퍼 메서드
플랫 함수 | 래퍼 메서드 | 묘사 |
---|---|---|
GpStatus WINGDIPAPI GdipCreateMatrix(GpMatrix **matrix) |
Matrix::Matrix |
ID 행렬을 나타내는 Matrix::Matrix 개체를 만들고 초기화합니다. |
GpStatus WINGDIPAPI GdipCreateMatrix2(REAL m11, REAL m12, REAL m21, REAL m22, REAL dx, REAL dx, REAL dy, GpMatrix **matrix) |
Matrix::Matrix | Matrix::Matrix 개체를 만들고 초기화하여 아핀 변환을 정의하는 6개의 숫자를 기반으로 합니다. |
GpStatus WINGDIPAPI GdipCreateMatrix3(GDIPCONST GpRectF *rect, GDIPCONST GpPointF *dstplg, GpMatrix **matrix) |
Matrix::Matrix | 사각형과 점을 기반으로 Matrix::Matrix 개체를 만듭니다. |
GpStatus WINGDIPAPI GdipCreateMatrix3I(GDIPCONST GpRect *rect, GDIPCONST GpPoint *dstplg, GpMatrix **matrix) |
Matrix::Matrix | 사각형과 점을 기반으로 Matrix::Matrix 개체를 만듭니다. |
GpStatus WINGDIPAPI GdipCloneMatrix(GpMatrix *matrix, GpMatrix **cloneMatrix) |
Matrix::Clone |
Matrix::Clone 메서드는 이 Matrix 개체의 복사본인 새 Matrix 개체를 만듭니다. |
GpStatus WINGDIPAPI GdipDeleteMatrix(GpMatrix *matrix) |
~Matrix() |
Matrix::Matrix 개체에서 사용하는 리소스를 정리합니다. |
GpStatus WINGDIPAPI GdipSetMatrixElements(GpMatrix *matrix, REAL m11, REAL m12, REAL m21, REAL m22, REAL dx, REAL dy) |
Matrix::SetElements |
Matrix::SetElements 메서드는 이 행렬의 요소를 설정합니다. |
GpStatus WINGDIPAPI GdipMultiplyMatrix(GpMatrix *matrix, GpMatrix* matrix2, GpMatrixOrder order) |
행렬:: 곱하기 |
Matrix::Multiply 메서드는 이 행렬을 자체 및 다른 행렬의 곱으로 업데이트합니다. |
GpStatus WINGDIPAPI GdipTranslateMatrix(GpMatrix *matrix, REAL offsetX, REAL offsetY, GpMatrixOrder order) |
행렬::번역 |
Matrix::Translate 메서드는 이 행렬을 자체 곱과 번역 행렬로 업데이트합니다. |
GpStatus WINGDIPAPI GdipScaleMatrix(GpMatrix *matrix, REAL scaleX, REAL scaleY, GpMatrixOrder order) |
Matrix::Scale |
Matrix::Scale 메서드는 이 행렬을 자체 곱과 크기 조정 매트릭스로 업데이트합니다. |
GpStatus WINGDIPAPI GdipRotateMatrix(GpMatrix *matrix, REAL angle, GpMatrixOrder order) |
행렬::회전 |
Matrix::Rotate 메서드는 이 행렬을 자체 곱과 회전 행렬로 업데이트합니다. |
GpStatus WINGDIPAPI GdipShearMatrix(GpMatrix *matrix, REAL shearX, REAL shearY, GpMatrixOrder order) |
행렬::전단 |
Matrix::Shear 메서드는 이 행렬을 자체 곱과 전단 행렬로 업데이트합니다. |
GpStatus WINGDIPAPI GdipInvertMatrix(GpMatrix *matrix) |
Matrix::Invert |
이 행렬을 반전할 수 없는 경우 Matrix::Invert 메서드는 이 행렬의 요소를 역의 요소로 바꿉니다. |
GpStatus WINGDIPAPI GdipTransformMatrixPoints(GpMatrix *matrix, GpPointF *pts, INT count) |
Matrix::TransformPoints |
Matrix::TransformPoints 메서드는 배열의 각 점을 이 행렬로 곱합니다. 각 지점은 행 행렬로 처리됩니다. 곱하기는 왼쪽의 행 행렬과 오른쪽의 이 행렬을 사용하여 수행됩니다. |
GpStatus WINGDIPAPI GdipTransformMatrixPointsI(GpMatrix *matrix, GpPoint *pts, INT count) |
Matrix::TransformPoints |
Matrix::TransformPoints 메서드는 배열의 각 점을 이 행렬로 곱합니다. 각 지점은 행 행렬로 처리됩니다. 곱하기는 왼쪽의 행 행렬과 오른쪽의 이 행렬을 사용하여 수행됩니다. |
GpStatus WINGDIPAPI GdipVectorTransformMatrixPoints(GpMatrix *matrix, GpPointF *pts, INT count) |
Matrix::TransformVectors |
Matrix::TransformVectors 메서드는 배열의 각 벡터에 이 행렬을 곱합니다. 이 행렬의 변환 요소(세 번째 행)는 무시됩니다. 각 벡터는 행 행렬로 처리됩니다. 곱하기는 왼쪽의 행 행렬과 오른쪽의 이 행렬을 사용하여 수행됩니다. |
GpStatus WINGDIPAPI GdipVectorTransformMatrixPointsI(GpMatrix *matrix, GpPoint *pts, INT count) |
Matrix::TransformVectors |
Matrix::TransformVectors 메서드는 배열의 각 벡터에 이 행렬을 곱합니다. 이 행렬의 변환 요소(세 번째 행)는 무시됩니다. 각 벡터는 행 행렬로 처리됩니다. 곱하기는 왼쪽의 행 행렬과 오른쪽의 이 행렬을 사용하여 수행됩니다. |
GpStatus WINGDIPAPI GdipGetMatrixElements(GDIPCONST GpMatrix *matrix, REAL *matrixOut) |
Matrix::GetElements |
Matrix::GetElements 메서드는 이 행렬의 요소를 가져옵니다. 요소는 m11, m12, m21, m22, m31, m32 순서로 배열에 배치됩니다. 여기서 mij는 행 i, 열 j의 요소를 나타냅니다. |
GpStatus WINGDIPAPI GdipIsMatrixInvertible(GDIPCONST GpMatrix *matrix, BOOL *result) |
행렬::IsInvertible |
Matrix::IsInvertible 메서드는 이 행렬을 반전할 수 있는지 여부를 결정합니다. |
GpStatus WINGDIPAPI GdipIsMatrixIdentity(GDIPCONST GpMatrix *matrix, BOOL *result) |
Matrix::IsIdentity |
Matrix::IsIdentity 메서드는 이 행렬이 ID 행렬인지 여부를 결정합니다. |
GpStatus WINGDIPAPI GdipIsMatrixEqual(GDIPCONST GpMatrix *matrix, GDIPCONST GpMatrix *matrix2, BOOL *result) |
Matrix::Equals |
Matrix::Equals 메서드는 이 행렬의 요소가 다른 행렬의 요소와 같은지 여부를 결정합니다. |