新功能
下列各節說明 Windows GDI+ 中的數項新功能。
漸層筆刷
GDI+ 藉由提供填滿圖形、路徑和區域的線性漸層和路徑漸層筆刷,在 Windows 圖形裝置介面上擴充。 漸層筆刷也可以用來繪製線條、曲線和路徑。 當您使用線性漸層筆刷填滿圖形時,當您在圖形上移動時,色彩會逐漸變更。 例如,假設您在圖形的左邊緣指定藍色,並在右邊緣指定綠色,以建立水準漸層筆刷。 當您以水準漸層筆刷填滿該圖形時,當您從左邊緣移至右邊緣時,它會逐漸從藍色變更為綠色。 同樣地,當您從上到下移動時,填滿垂直漸層筆刷的圖形將會變更色彩。 下圖顯示以水準漸層筆刷填滿的橢圓形,以及填滿對角漸層筆刷的區域。
當您使用路徑漸層筆刷填滿圖形時,有各種不同的選項可指定色彩在從圖形的某個部分移到另一個部分時如何變更。 其中一個選項是具有中央色彩和界限色彩,因此當您從圖形中間向外邊緣移動時,圖元會逐漸從一種色彩變更為另一種色彩。 下圖顯示填滿路徑漸層筆刷的路徑(從一對貝塞爾曲線建立)。
基數曲線
GDI+ 支援 GDI 中不支援的基數曲線。 基數曲線是聯結成較大曲線的個別曲線序列。 曲線是由點陣列所指定,並經過該陣列中的每個點。 基數曲線會順利通過陣列中的每個點(沒有尖角),因此比連接直線所建立的路徑更精細。 下圖顯示兩個路徑,一個是連接直線所建立,另一個是建立為基數曲線。
獨立路徑物件
在 GDI 中,路徑屬於裝置內容,而且路徑會在繪製時終結。 使用 GDI+ 時,繪圖是由 Graphics 物件執行,而且您可以建立和維護數個與 Graphics 物件分開的 GraphicsPath 物件。 繪圖動作不會終結 GraphicsPath 物件,因此您可以使用相同的 GraphicsPath 對象來繪製路徑數次。
轉換和 Matrix 物件
GDI+ 提供 Matrix 物件,這是一個功能強大的工具,可讓轉換(旋轉、翻譯等)變得簡單且有彈性。 矩陣物件會與已轉換的物件搭配運作。 例如,GraphicsPath 物件具有 GraphicsPath::Transform 方法,可接收 Matrix 對象的位址做為自變數。 單一 3×3 矩陣可以儲存一個轉換或一連串的轉換。 下圖顯示兩個轉換序列前後的路徑(第一次縮放,然後旋轉)。
可調整的區域
GDI+ 在 GDI 上大幅擴充,支持區域。 在 GDI 中,區域會儲存在裝置座標中,而唯一可以套用至區域的轉換就是翻譯。 GDI+ 會將區域儲存在世界座標中,並允許區域進行任何轉換(例如縮放,例如),這些轉換可以儲存在轉換矩陣中。 下圖顯示三個轉換序列前後的區域:縮放、旋轉和轉譯。
Alpha 混合
請注意,在上圖中,您可以透過轉換的區域(填滿影線筆刷)看到未轉換的區域(填滿紅色)。 這可透過 GDI+ 支援的 Alpha 混合來達成。 使用 Alpha 混合,您可以指定填滿色彩的透明度。 透明色彩會與背景色彩混合- 您建立填滿色彩越透明,背景越是顯示。 下圖顯示四個省略號,這些省略號會以不同透明度層級填滿相同色彩(紅色)。
支援多個影像格式
GDI+ 提供 Image、Bitmap和 Metafile 類別,可讓您載入、儲存及作各種格式的影像。 支援下列格式:
- BMP
- 圖形交換格式 (GIF)
- JPEG
- Exif
- PNG
- TIFF
- 圖示
- WMF
- EMF