オブジェクトを変換する方法
2-D オブジェクトを移動するには、オブジェクトを x 軸、y 軸、またはその両方に沿って移動します。 次の 2 つのメソッドのいずれかを呼び出して、変換変換を作成できます。
- Translation(D2D1_SIZE_F size): x 軸と y 軸に沿って移動する距離を定義する順序付きペアを受け取ります。
- Translation(float x, float y): x 軸に沿って移動する距離と y 軸に沿って移動する距離を取得します。
次のコードでは、x 軸に沿って 20 単位を右に移動し、y 軸に沿って 10 単位下方向に移動する変換変換行列を作成します。
// Create a rectangle.
D2D1_RECT_F rectangle = D2D1::Rect(126.0f, 80.5f, 186.0f, 140.5f);
// Draw the outline of the rectangle.
m_pRenderTarget->DrawRectangle(
rectangle,
m_pOriginalShapeBrush,
1.0f,
m_pStrokeStyleDash
);
// Apply the translation transform to the render target.
m_pRenderTarget->SetTransform(D2D1::Matrix3x2F::Translation(20, 10));
// Paint the interior of the rectangle.
m_pRenderTarget->FillRectangle(rectangle, m_pFillBrush);
// Draw the outline of the rectangle.
m_pRenderTarget->DrawRectangle(rectangle, m_pTransformedShapeBrush);
次の図は、変換変換を四角形に適用する効果を示しています。元の四角形は点線のアウトラインで、翻訳された四角形は実線です。
関連トピック