色彩近似值和 Dithering
雖然應用程式可以在不考慮裝置的色彩功能的情況下使用色彩,但產生的輸出可能不具資訊性,也可能無法作為謹慎選擇色彩的輸出。 若有的話,裝置保證每個可能色彩值的完全相符;因此,如果應用程式要求裝置無法產生的色彩,系統會使用裝置可以產生的色彩來近似該色彩。 例如,如果應用程式嘗試建立黑色和白色印表機的紅色畫筆,則會收到黑色畫筆,而系統會改用黑色作為紅色的近似值。
應用程式可以使用 GetNearestColor 函式來探索系統是否會近似指定的色彩。 函式會採用色彩值,並傳回裝置可產生最接近相符色彩的色彩值。 系統用來判斷此近似值的方法取決於設備磁碟機及其色彩功能。 在大部分情況下,近似色彩的整體濃度最接近所要求色彩的色彩。
當應用程式建立手寫筆或設定文字的色彩時,如果完全相符,系統一律會近似色彩。 當應用程式建立純色筆刷時,系統可能會嘗試藉由進行任一處理來模擬要求的色彩。 Dithering 會藉由在圖樣中交替兩個或多個色彩來模擬色彩。 例如,您可以藉由交替不同的紅色和白色組合來模擬不同的粉紅色陰影。 視色彩和圖樣而定,轉接可能會產生合理的模擬。 它最適用于單色裝置,因為它將可用的「色彩」數目擴充到簡單的黑色和白色之外。
用來建立任一色彩的方法取決於裝置驅動程式。 大部分的設備磁碟機都會使用標準任一演算法,其會根據要求的紅色、綠色和藍色的濃度值來產生模式。 一般而言,裝置無法產生的任何要求色彩都受限於模擬,但當系統模擬色彩時,應用程式不會收到通知。 此外,應用程式無法修改或變更設備磁碟機的任一演算法。 不過,應用程式可以藉由建立和使用模式筆刷來略過演算法。 如此一來,應用程式就會在用來建立筆刷的點陣圖中結合純色來建立自己的任一色彩。