PageScale: 獲取或設置此 Graphics 的世界單位和頁單位之間的比例。
PageUnit: 獲取或設置用於此 Graphics 中的頁座標的度量單位。spa
話很少說,上代碼:code
private void Form1_Paint(object sender, PaintEventArgs e) { Graphics dc = e.Graphics; dc.PageUnit = GraphicsUnit.Pixel; // 頁面座標 dc.PageScale = 0.5f; // 世界座標和頁面座標比例係數 Pen p = new Pen(Color.Red); int startX = 100; int startY = 100; Point startPoint = new Point(startX, startY); for (int i = 0; i < 100; ++i) { dc.DrawLine(p, startPoint, new Point(startX + i, startY)); } }
再上圖:orm
PageScale = 0.5 PageScale = 1 PageScale = 2blog
由上可見,PageUnit = GraphicsUnit.Pixel,即顯示的時候以像素爲單位,程序畫了 100 個座標位置it
PageScale = 1, 一個座標位置對應一個像素,因此線的長度顯示爲100個像素class
PageScale = 0.5,一個座標對應0.5個像素,因此線的長度顯示爲50個像素object
PageScale = 2,一個座標對應2個像素,因此線的長度顯示爲200個像素(超出窗口大小了:D),上圖可見線的寬度也變爲2個像素了程序
綜上: 頁面座標 = 世界座標 * PageScale!!! 我理解的世界座標即邏輯座標,頁面座標即物理座標或叫作設備座標!im