ワールド変換の使用
ワールド変換は Graphics クラスのプロパティです。 ワールド変換を指定する数値は、3 ×3 行列を表す Matrix オブジェクトに格納されます。 Matrix クラスと Graphics クラスには、ワールド変換マトリックスで数値を設定するためのメソッドがいくつかあります。 このセクションの例では、四角形を簡単に描画でき、四角形に対する変換の効果を簡単に確認できるため、四角形を操作します。
まず、50 から 50 の四角形を作成し、原点 (0、0) に配置します。 原点は、クライアント領域の左上隅にあります。
Rect rect(0, 0, 50, 50);
Pen pen(Color(255, 255, 0, 0), 0);
graphics.DrawRectangle(&pen, rect);
次のコードは、四角形を 1.75 の係数で x 方向に拡大し、0.5 の係数で y 方向に縮小する拡大縮小変換を適用します。
Rect rect(0, 0, 50, 50);
Pen pen(Color(255, 255, 0, 0), 0);
graphics.ScaleTransform(1.75f, 0.5f);
graphics.DrawRectangle(&pen, rect);
結果として、元の四角形よりも x 方向に長く、y 方向に短い四角形になります。
四角形を拡大縮小する代わりに回転するには、前のコードではなく次のコードを使用します。
Rect rect(0, 0, 50, 50);
Pen pen(Color(255, 255, 0, 0), 0);
graphics.RotateTransform(28.0f);
graphics.DrawRectangle(&pen, rect);
四角形を移動するには、次のコードを使用します。
Rect rect(0, 0, 50, 50);
Pen pen(Color(255, 255, 0, 0), 0);
graphics.TranslateTransform(150.0f, 150.0f);
graphics.DrawRectangle(&pen, rect);