次の方法で共有


Matrix3x2F クラス (d2d1helper.h)

Matrix3x2F クラスは 3 x 2 行列を表し、行列を作成するための便利なメソッドを提供します。

継承

Matrix3x2F クラスは、D2D1_MATRIX_3X2_Fから継承します。

メソッド

Matrix3x2F クラスには、これらのメソッドがあります。

 
Matrix3x2F::D決定

行列の決定要因を計算します。 (Matrix3x2F.Determinant)
Matrix3x2F::Identity

ID マトリックスを作成します。 (Matrix3x2F.Identity)
Matrix3x2F::Invert

行列が反転可能な場合は、行列を反転します。
Matrix3x2F::IsIdentity

この行列が ID 行列かどうかを示します。 (Matrix3x2F.IsIdentity)
Matrix3x2F::IsInvertible

行列が反転可能かどうかを示します。
Matrix3x2F::Matrix3x2F

指定した値を含む Matrix3x2F クラスの新しいインスタンスをインスタンス化します。
Matrix3x2F::Matrix3x2F

マトリックス値を初期化せずに Matrix3x2F クラスの新しいインスタンスをインスタンス化します。
Matrix3x2F::operator*

Matrix3x2F::operator-mult (d2d1helper.h) メソッドは、この行列と指定された行列を乗算し、結果を返します。
Matrix3x2F::ReinterpretBaseType

コピーを作成せずに、指定したD2D1_MATRIX_3X2_F行列を Matrix3x2F に変換します。 (オーバーロード 1/2)
Matrix3x2F::ReinterpretBaseType

コピーを作成せずに、指定したD2D1_MATRIX_3X2_F行列を Matrix3x2F に変換します。 (オーバーロード 2/2)
Matrix3x2F::Rotation

指定した角度と中心点を持つ回転変換を作成します。
Matrix3x2F::Scale

指定したスケール ファクターと中心点を持つスケール変換を作成します。 (オーバーロード 2/2)
Matrix3x2F::Scale

指定したスケール ファクターと中心点を持つスケール変換を作成します。 (オーバーロード 1/2)
Matrix3x2F::SetProduct

2 つの行列を乗算し、結果をこの行列に格納します。 (Matrix3x2F.SetProduct)
Matrix3x2F::Skew

指定した x 軸と y 軸の値と中心点を持つスキュー変換を作成します。
Matrix3x2F::TransformPoint

この行列を使用して指定した点を変換し、結果を返します。
Matrix3x2F::Translation

指定した x および y 変位を持つ変換変換を作成します。 (オーバーロード 1/2)
Matrix3x2F::Translation

指定した x および y 変位を持つ変換変換を作成します。 (オーバーロード 2/2)

注釈

Matrix3x2F クラスには、変換マトリックスを作成するための多くの静的メソッドが用意されています。 次の表に、よく使用されるメソッドと、それらに関連付けられている操作方法に関するトピックを示します。

メソッド 操作方法
傾斜 オブジェクトを傾斜させる方法
回転 オブジェクトを回転させる方法
スケール オブジェクトをスケーリングする方法
翻訳 オブジェクトを変換する方法
 

変換は、オブジェクトまたは描画サーフェス全体に適用できます。 図面サーフェス全体に変換を適用するには、 ID2D1RenderTarget::SetTransform メソッドを呼び出します。 ブラシやジオメトリなどの個々のオブジェクトの場合は、 ID2D1Brush::SetTransform メソッドまたは ID2D1Geometry メソッドを呼び出します。

次の例では、D2D1::Matrix3x2F::Rotation メソッドを使用して、正方形の中心を 45 度時計回りに回転し、マトリックスをレンダー ターゲット (m_pRenderTarget) の SetTransform メソッドに渡す回転行列を作成します。

次の図は、前の回転変換を正方形に適用した場合の効果を示しています。 元の四角形は点線で、回転した四角形は実線の輪郭です。

元の四角形の中心を中心として時計回りに 45 度回転した四角形の図
    // Create a rectangle.
    D2D1_RECT_F rectangle = D2D1::Rect(438.0f, 301.5f, 498.0f, 361.5f);

    // Draw the rectangle.
    m_pRenderTarget->DrawRectangle(
        rectangle,
        m_pOriginalShapeBrush,
        1.0f,
        m_pStrokeStyleDash
        );

    // Apply the rotation transform to the render target.
    m_pRenderTarget->SetTransform(
        D2D1::Matrix3x2F::Rotation(
            45.0f,
            D2D1::Point2F(468.0f, 331.5f))
        );

    // Fill the rectangle.
    m_pRenderTarget->FillRectangle(rectangle, m_pFillBrush);

    // Draw the transformed rectangle.
    m_pRenderTarget->DrawRectangle(rectangle, m_pTransformedShapeBrush);


この例では、コードは省略されています。 変換の詳細については「変換の概要」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 7、Windows Vista SP2 および Windows Vista 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2、Windows Server 2008 SP2 および Windows Server 2008 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー d2d1helper.h (D2d1helper.h を含む)

こちらもご覧ください

D2D1_MATRIX_3X2_F

変換の概要