다음을 통해 공유


행렬 함수

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 메서드는 이 행렬의 요소가 다른 행렬의 요소와 같은지 여부를 결정합니다.