Matrix3x2F クラス
3x2 の行列を表し、行列を作成するための便利なメソッドを提供します。
構文
class Matrix3x2F : D2D1_MATRIX_3X2_F
{
};
メンバー
Matrix3x2F クラス の継承元は次のとおりです: D2D1_MATRIX_3X2_F. Matrix3x2F は次のメンバーも定義します:
- メソッド
メソッド
Matrix3x2F クラス は次の項目を定義します: メソッド.
メソッド | 説明 |
---|---|
Matrix3x2F() Constructor | Matrix3x2F クラスの新しいインスタンスを作成します。 |
Matrix3x2F(FLOAT,FLOAT,FLOAT,FLOAT,FLOAT,FLOAT) Constructor | 指定された値を含む Matrix3x2F クラスの新しいインスタンスを作成します。 |
Determinant | 行列の行列式を計算します。 |
Identity | 単位行列を作成します。 |
Invert | 反転可能な場合は、行列を反転させます。 |
IsIdentity | この行列が単位行列かどうかを示します。 |
IsInvertible | 行列が反転可能かどうかを示します。 |
operator* | この行列を指定された行列で乗算して、結果を返します。 |
ReinterpretBaseType(const *D2D1_MATRIX_3X2_F ) | コピーを作成せずに、指定された D2D1_MATRIX_3X2_F 行列を Matrix3x2F に変換します。 |
ReinterpretBaseType(*D2D1_MATRIX_3X2_F) | コピーを作成せずに、指定された D2D1_MATRIX_3X2_F 行列を Matrix3x2F に変換します。 |
Rotation | 指定した角度と中心点を持つ回転変換を作成します。 |
Scale(D2D1_SIZE_F,D2D1_POINT_2F) | 指定した拡大/縮小率と中心点を持つ拡大縮小変換を作成します。 |
Scale(FLOAT,FLOAT,D2D1_POINT_2F) | 指定した拡大/縮小率と中心点を持つ拡大縮小変換を作成します。 |
SetProduct | 2 つの行列を乗算して、その結果をこの行列に格納します。 |
Skew | 指定した X 軸値、Y 軸値、および中心点を持つ傾斜変換を作成します。 |
TransformPoint | この行列を使用して、指定された点を変換して結果を返します。 |
Translation(D2D1_SIZE_F) | 指定した X 変位と Y 変位を持つ移動変換を作成します。 |
Translation(FLOAT,FLOAT) | 指定した X 変位と Y 変位を持つ移動変換を作成します。 |
解説
Matrix3x2F クラスには、変換行列を作成するための静的メソッドが多数用意されています。次の表に、使用頻度の高いメソッドと、そのメソッドに関連した操作手順に関するトピックを示します。
メソッド | 操作手順に関するトピック |
---|---|
Skew | オブジェクトを傾斜させる方法 |
Rotation | オブジェクトを回転する方法 |
Scale | オブジェクトを拡大/縮小する方法 |
Translation | オブジェクトを移動する方法 |
変換は、複数のオブジェクトまたは描画サーフェイス全体に適用できます。変換を描画サーフェイス全体に適用するには、ID2D1RenderTarget::SetTransform メソッドを呼び出します。ブラシやジオメトリなどの個々のオブジェクトに適用する場合は、ID2D1Brush::SetTransform メソッドまたは ID2D1Geometry メソッドを呼び出します。
例
次の例では、D2D1::Matrix3x2F::Rotation メソッドを使用して、四角形をその中心を軸に時計回りに 45°回転する回転行列を作成し、その行列をレンダー ターゲット (m_pRenderTarget) の SetTransform メソッドに渡します。
次の図は、前の回転変換を四角形に適用した結果を示しています。元の四角形は点線で、回転後の四角形は実線で描画されています。
// 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 用のプラットフォーム更新プログラム |
サーバーの最小要件 |
Windows Server 2008 R2, Windows Server 2008 SP2 および Windows Server 2008 用のプラットフォーム更新プログラム |
ヘッダー |
D2d1.h |
ライブラリ |
D2d1.lib |
DLL |
D2d1.dll |