Share via


座標空間的轉換

座標空間是以笛卡兒座標系統為基礎的平面空間。 此系統提供指定平面上每個點位置的方法。 它需要兩個垂直且長度相等的軸。 下圖顯示座標空間。

座標空間的圖例,其中顯示原點、座標軸和每個座標軸的最大值和最小值

系統支援四個座標空間,如下表所述。

座標空間 Description
world 選擇性地作為圖形轉換的開始座標空間。 它允許縮放、轉譯、旋轉、旋轉和反射。 世界空間測量 2^32 單位高,寬度為 2^32 單位。
頁面 當做世界空間之後的下一個空間或圖形轉換的開始空間使用。 它會設定對應模式。 頁面空間也會測量 2^32 單位高 2^32 單位寬。
裝置 當做頁面空間之後的下一個空格使用。 它只允許轉譯,以確保裝置空間的來源會對應到實體裝置空間中的適當位置。 裝置空間測量 2^27 單位高,寬度為 2^27 單位。
實體裝置 圖形轉換的最終 (輸出) 空間。 它通常是指應用程式視窗的工作區;不過,它也可以包含整個桌面、完整的視窗 (包括框架、標題列和功能表列) ,或印表機或繪圖器紙張的頁面,視取得裝置內容的控制碼而定。 實體裝置尺寸會根據顯示器、印表機或繪圖器技術所設定的維度而有所不同。

 

頁面空間可搭配裝置空間使用,以提供與裝置無關的單位,例如公釐和英吋。 此概觀將世界空間和頁面空間視為邏輯空間。

為了描述實體裝置上的輸出,系統會將 (或對應) 矩形區域從一個座標空間複製到下一個使用轉換,直到輸出完全出現在實體裝置上為止。 如果應用程式已呼叫 SetWorldTransform 函式,對應就會在應用程式的世界空間中開始;否則,對應會發生在頁面空間中。 當系統將矩形區域內的每個點從一個空間複製到另一個空間時,它會套用稱為轉換的演算法。 轉換會改變 (或轉換,) 從一個座標空間複製到另一個座標空間的物件大小、方向和形狀。 雖然轉換會影響整個物件,但它會套用至 物件中的每個點或每一行。

下圖顯示使用 SetWorldTransform 函式執行的一般轉換。

此圖顯示矩形在世界空間、頁面空間、裝置空間和裝置中顯示的大小和位置