共用方式為


色彩近似值和抖動

雖然應用程式可以在不考慮裝置的色彩功能的情況下使用色彩,但產生的輸出可能不像謹慎選擇色彩的輸出那麼豐富且令人高興。 很少有裝置保證每個可能色彩值的完全相符;因此,如果應用程式要求裝置無法產生的色彩,系統就會使用裝置可以產生的色彩來近似該色彩。 例如,如果應用程式嘗試為黑白印表機建立紅色畫筆,則會接收黑色畫筆,而系統會使用黑色筆做為紅色的近似值。

應用程式可以使用 getNearestColor函式,探索系統是否會使用GetNearestColor 來近似指定的色彩。 函式會採用色彩值,並傳回裝置可產生之最接近相符色彩的色彩值。 系統用來判斷此近似值的方法取決於設備驅動器及其色彩功能。 在大部分情況下,近似色彩的整體強度最接近所要求色彩的整體強度。

當應用程式建立畫筆或設定文字色彩時,如果沒有完全相符的顏色,系統會近似選擇一個顏色。 當應用程式建立純色筆刷時,系統可能會嘗試藉由分色來模擬要求的色彩。 Dithering 藉由在圖樣中交替兩個或多個色彩來模擬色彩。 例如,您可以藉由交替不同的紅色和白色組合來模擬不同的粉紅色色調。 視色彩和圖樣而定,抖動可能會產生合理的模擬效果。 它最適用於單色裝置,因為它能將可用的「色彩」從簡單的黑白擴展到多種灰階。

用來創建抖動色彩的方法取決於設備驅動程式。 大多數設備驅動程式都會使用標準的抖動演算法,根據所要求的紅色、綠色和藍色的強度值來生成圖案。 一般而言,裝置無法產生的任何要求色彩都會受到模擬,但當系統模擬色彩時,應用程式不會收到通知。 此外,應用程式無法修改或變更裝置驅動程式的抖動演算法。 不過,應用程式可以藉由建立和使用模式筆刷來略過演算法。 如此一來,應用程式會在用來建立筆刷的點陣圖中結合純色,以建立自己的任一色彩。