═══ 遞色 ═══ 2025 年 8 月 27 日 · 閱讀時間約 3 分鐘 ┊ 純文字版 [1] 眼尖的 Wiwi.Blog 讀者可能早就發現了:這個部落格裡的許多圖片都有種「復古質感」, 放大一看會發現密密麻麻的點點,像是從 Windows 95 時代穿越過來的。 沒錯,我當然是故意的 [2]。 這個技術叫做「Dither」,中文常翻成「遞色」。簡單來說,Dither 就是把極少數的顏色 [3],透過巧妙的排列組合,來讓你誤以為看到了更多顏色。就像是只用三種顏色的蠟筆, 硬是畫出彩虹一樣的概念。 以下這張檸檬卷 [4]圖片是「24 位元全彩」的,也就是說它裡面可以包含超過一千六百萬 種不同的顏色[^1]: (內含至多 2^24 = 16,777,216 種顏色的檸檬卷) 圖片 [5] 但如果把「總顏色數」限縮到只有 32 色呢?你可能猜想,那樣一定會變很醜,但完全不 會: (只有 32 色的檸檬卷) 圖片 [6] 經過 Dither 處理後,只有 32 色的版本效果幾乎跟原圖一模一樣。放大來看,你會發現 這些「顏色」,其實只由固定的 32 色小點點交織而成,是你的大腦自動幫你把它們混色 了。 如果顏色數更少呢?試試看只用 8 種顏色,看起來也還是不錯吧!以下這檔案只有不到 7 KB: (8 色的檸檬卷依然看起來很美味) [C4T7AVYIBwNhIBwMhIFwMBAGwsFAG] 沒騙你,上圖真的只有這八個顏色喔: 圖片 [7] 這種「事先挑選特定顏色」的方法,叫做「Indexed Color」(索引色彩)。圖片檔案不需 要儲存每個畫素的完整顏色資訊,而是先建立一個固定的調色盤,接著就只要記錄「我要 用調色盤上的第幾號顏色」就好。 Dither 的圖案可以規律也可以不規律。不規律的 Dither 看起來會像是老電視的雜訊: (放大一點看!) 圖片 [8] 而規律的 Dither 會形成明顯的網格圖案: (放大一點看!我喜歡這個版本!) 圖片 [6] 我很喜歡規律的 Dither,因為它可以讓原本解析度很低的圖,反而看起來更銳利、有更多 細節,同時還讓圖片檔案更小 [9]、載入更快。額外的優點是超級「耐放大」,因為即使 放大十倍,這些 Dither 小點點仍然是完美的小點點,不會變成模糊不清的色塊。 在這個什麼都要「4K Pro Max Ultra HDR [10]」的年代,堅持用 8 色調色盤才是真新潮 ! 一千六百萬色?那是普通人 [11]才在用的。 ── 連結與圖片 ── [1] https://wiwi.blog/blog/dither.txt [2] https://wiwi.blog/blog/not-personal.txt [3] https://wiwi.blog/blog/qr-code-contrast.txt [4] https://wiwi.blog/blog/comparing-spouses.txt [5] (圖片)https://wiwi.blog/assets/images/original-d393394469f636a36adb76b25460d612.jpg [6] (圖片)https://wiwi.blog/assets/images/32-positioned-643b2ec8b2ecc980c6f712d6ba609391.png [7] (圖片)https://wiwi.blog/assets/images/pallete-da26f45efacb18a409fd32aecf4f252b.png [8] (圖片)https://wiwi.blog/assets/images/32-normal-bd3d752a8f110f587c6d977ae9363b22.png [9] https://wiwi.blog/blog/tiny-files-huge-fun.txt [10] https://wiwi.blog/blog/jelly-bigger-than-games.txt [11] https://wiwi.blog/blog/normal-computer.txt