在上面的程序中我們兩次繪制了矩形redRectangle,該矩形的左上角在坐標系的原點,寬度為120像素 ,高度為80像素。
第一次我們在默認坐標系中繪制矩形,這時坐標系的原點在窗口的左上角(如實線所示),Graphics 對象以此為參照繪制出矩形,如圖17-17所示。
圖17-17 用平移變換法繪制矩形的窗口
之後我們通過下面的語句進行坐標的平移變換,該語句把坐標系向右平移了150像素,向下平移了120 像素,使坐標系的原點由A點平移到了B點(如虛線所示)。
g.TranslateTransform( 150 , 120 );
橫向偏移量 縱向偏移量
最後我們第二次繪制矩形,這時Graphics對象以新坐標系為參照,所以矩形的左上角被畫在B點。
雖然兩次繪制的是同一個矩形redRectangle,但由於坐標系發生了變化,矩形的實際位置不同。
一旦Graphics對象的坐標系發生了變換,Graphics對象今後都會在新坐標系中繪制圖形,要想恢復到 默認的坐標系,則需要用下面的語句清除變換。
g.ResetTransform();
執行ResetTransform()方法後,坐標系恢復到默認狀態,Graphics對象回到默認坐標系中繪圖。