預設調色盤
預設調色盤是色彩值的陣列,識別預設可與裝置內容搭配使用的色彩。 每當應用程式為支援調色盤的裝置建立內容時,系統會將預設調色盤與內容產生關聯。 預設調色盤可確保應用程式可以使用色彩,而不需要採取任何進一步的動作。
預設調色盤通常會有 20 個專案 (色彩) ,但確切的專案數目可能會因裝置而異。 這個數位等於 GetDeviceCaps 函式所傳回的 NUMCOLORS 值。 應用程式可以藉由列舉純色筆來擷取預設調色盤中色彩的色彩值,這是用來探索非Palette 裝置上可用色彩的相同技巧。 預設調色盤中的色彩取決於裝置。 例如,顯示裝置通常會使用 VGA 顯示器的 16 種標準色彩,以及 Windows 所定義的 4 種其他色彩。 列印裝置可能會使用其他預設色彩。
使用預設調色盤時,應用程式會使用色彩值來指定畫筆和文字色彩。 如果要求的色彩不在調色盤中,系統會使用調色盤中的最接近色彩來近似色彩。 如果應用程式要求不在調色盤中的純色筆刷色彩,系統會使用調色盤中的色彩來模擬色彩。
為了避免近似值和重複,應用程式也可以使用調色盤索引來指定畫筆、筆刷和文字色彩,而不是色彩值。 調色盤索引是識別特定調色盤專案的整數值。 應用程式可以使用調色盤索引取代色彩值,但必須使用 PALETTEINDEX 宏來建立索引。
調色盤索引僅適用于支援調色盤的裝置。 若要避免此裝置相依性,使用相同程式碼繪製到調色盤和非Palette 裝置的應用程式應該使用調色盤相對色彩值來指定畫筆、筆刷和文字色彩。 這些值與色彩值相同,但建立純色筆刷時除外。 (在調色盤裝置上,調色盤相對色彩值指定的純色筆刷色彩受限於色彩近似值,而不是 dithering.) 應用程式必須使用 PALETTERGB 宏來建立調色盤相對色彩值。
系統不允許應用程式變更預設調色盤中的專案。 若要使用預設調色盤中以外的色彩,應用程式必須建立自己的邏輯調色盤,並將調色盤選取到裝置內容中。