次の方法で共有


マトリックス関数

Windows GDI+では、約 600 個の関数で構成されるフラット API が公開されています。これは、Gdiplus.dllで実装され、Gdiplusflat.h で宣言されています。 GDI+ フラット API の関数は、約 40 個の C++ クラスのコレクションによってラップされます。 フラット API で関数を直接呼び出さないでください。 GDI+を呼び出す場合は常に、C++ ラッパーによって提供されるメソッドと関数を呼び出して呼び出す必要があります。 Microsoft 製品サポート サービスは、フラット API を直接呼び出すコードのサポートを提供しません。 これらのラッパー メソッドの使用方法の詳細については、「GDI+ Flat API」を参照してください。

次のフラット API 関数は 、Matrix C++ クラスによってラップされます。

マトリックス関数と対応するラッパー メソッド

フラット関数 Wrapper メソッド 説明
GpStatus WINGDIPAPI GdipCreateMatrix(GpMatrix **matrix)
Matrix::Matrix
ID 行列を表す Matrix::Matrix オブジェクトを作成して初期化します。
GpStatus WINGDIPAPI GdipCreateMatrix2(REAL m11, REAL m12, REAL m21, REAL m22, REAL dx, REAL dy, GpMatrix **matrix)
Matrix::Matrix アフィン変換を定義する 6 つの数値に基づいて Matrix::Matrix オブジェクトを作成および初期化します。
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
Matrix::Multiply メソッドは、この行列をそれ自体と別の行列の積で更新します。
GpStatus WINGDIPAPI GdipTranslateMatrix(GpMatrix *matrix, REAL offsetX, REAL offsetY, GpMatrixOrder order)
Matrix::Translate
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
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 メソッドは、配列内の各ベクトルにこの行列を乗算します。 この行列の平行移動要素 (3 番目の行) は無視されます。 各ベクトルは行行列として扱われます。 乗算は、左側に行行列、右側にこの行列を使用して実行されます。
GpStatus WINGDIPAPI GdipVectorTransformMatrixPointsI(GpMatrix *matrix, GpPoint *pts, INT count)
Matrix::TransformVectors
Matrix::TransformVectors メソッドは、配列内の各ベクトルにこの行列を乗算します。 この行列の平行移動要素 (3 番目の行) は無視されます。 各ベクトルは行行列として扱われます。 乗算は、左側に行行列、右側にこの行列を使用して実行されます。
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)
Matrix::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 メソッドは、この行列の要素が別の行列の要素と等しいかどうかを決定します。