共用方式為


使用世界變革

世界轉換是 Graphics 類別的屬性。 指定世界轉換的數位會儲存在 Matrix 物件中,代表 3 ×3 矩陣。 MatrixGraphics 類別有數種方法可設定世界轉換矩陣中的數位。 本節中的範例會操作矩形,因為矩形易於繪製,也能輕易看到轉換對矩形的影響。

首先,我們會建立 50 到 50 個矩形,並將其定位在原點 (0, 0)。 原點位於客戶區域的左上角。

Rect rect(0, 0, 50, 50);
Pen pen(Color(255, 255, 0, 0), 0);
graphics.DrawRectangle(&pen, rect);

下列程式碼將套用縮放轉換,使矩形在 x 方向上擴大 1.75 倍,並在 y 方向上縮小 0.5 倍:

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);