新功能

下列各節說明 Windows GDI+ 中的數項新功能。

漸層筆刷

GDI+ 會藉由提供線性漸層和路徑漸層筆刷來填滿圖形、路徑和區域,在 Windows 圖形裝置介面上展開 (GDI) 。 漸層筆刷也可以用來繪製線條、曲線和路徑。 當您使用線性漸層筆刷填滿圖形時,色彩會在您跨圖形移動時逐漸變更。 例如,假設您在圖形的左邊緣指定藍色,並在右邊緣指定綠色來建立水準漸層筆刷。 當您以水準漸層筆刷填滿該圖形時,當您從左邊緣移到右邊緣時,它會逐漸從藍色變更為綠色。 同樣地,當您從上到下移動時,填滿垂直漸層筆刷的圖形將會變更色彩。 下圖顯示以水準漸層筆刷填滿的橢圓形,以及填入對角線漸層筆刷的區域。

以水準漸層填滿的圖形圖例,以及一個由對角線漸層所提出之圖案的圖例

當您使用路徑漸層筆刷填滿圖形時,有各種選項可用來指定當您從圖形的某個部分移到另一個部分時,色彩的變更方式。 其中一個選項是有中心色彩和界限色彩,因此當您從圖形中間移至外部邊緣時,圖元會逐漸從一種色彩變更為另一種色彩。 下圖顯示從一對 Bézier 曲線) 填滿路徑漸層筆刷的路徑 (。

圖形的圖例,類似于無限號,從藍色填滿,其中兩半與邊緣的青色相符合

基本曲線

GDI+ 支援 GDI 中不支援的基數曲線。 基數曲線是聯結以形成較大麯線的個別曲線序列。 曲線是由點陣列所指定,並通過該陣列中的每個點。 基數曲線會順暢地傳遞 (陣列中每個點) 沒有尖角,因此比連接直線所建立的路徑更精簡。 下圖顯示兩個路徑,一個是連接直線所建立,另一個是建立為基數曲線。

顯示相同五點兩次的圖例:一旦以基數曲線連接,另一個依線條線段連接

獨立路徑物件

在 GDI 中,路徑屬於裝置內容,並會在繪製路徑時終結。 使用 GDI+,繪圖是由Graphics物件執行,而且您可以建立及維護數個與 Graphics物件分開的GraphicsPath物件。 繪圖動作不會終結 GraphicsPath 物件,因此您可以使用相同的 GraphicsPath 物件來繪製路徑數次。

轉換和矩陣物件

GDI+ 提供 Matrix 物件,這是一種功能強大的工具,可讓轉換 (旋轉、翻譯等) 簡單且有彈性。 矩陣物件會與已轉換的物件搭配運作。 例如, GraphicsPath 物件具有 GraphicsPath::Transform 方法,可接收 Matrix 物件的位址做為引數。 單一 3×3 矩陣可以儲存一個轉換或一連串轉換。 下圖顯示兩個轉換序列前後的路徑, (第一個刻度,然後旋轉) 。

顯示圖形外框的圖例,然後是相同的外框,但較窄且旋轉

可調整的區域

GDI+ 在 GDI 上大幅擴充,並支援區域。 在 GDI 中,區域會儲存在裝置座標中,唯一可以套用至區域的轉換是翻譯。 GDI+ 會將區域儲存在全局座標中,並允許區域進行任何轉換 (調整,例如可儲存在轉換矩陣中的) 。 下圖顯示三個轉換序列前後的區域:縮放、旋轉和轉譯。

圖例顯示以座標軸置中置中的圖形,然後相同圖形,但較大、旋轉並轉譯為右邊

Alpha 混合

請注意,在上圖中,您可以看到未轉換的區域 (透過轉換的區域填滿紅色) , (填滿影線筆刷) 。 這是由 Alpha 混合所提供,GDI+ 支援。 使用 Alpha 混合,您可以指定填滿色彩的透明度。 透明色彩會與背景色彩混合- 您製作填滿色彩越透明,背景顯示越長。 下圖顯示四個橢圓形,這些省略號會以不同透明度層級的相同色彩 (紅色) 填滿。

圖例顯示四個橢圓形,其中不同透明度重迭半透明矩形

支援多個影像格式

GDI+ 提供 ImageBitmapMetafile 類別,可讓您載入、儲存及操作各種格式的影像。 下列為支援的格式:

  • BMP
  • 圖形交換格式 (GIF)
  • JPEG
  • Exif
  • PNG
  • TIFF
  • 圖示
  • WMF
  • EMF