它是基於數學原理,在 RGB 中取 6 種 6*6*6=216 種顏色組合(即取 00、33、66、99、CC 或 FF),這是早期顯示器只能顯示 256 種顏色留下的問題。這是早期顯示器只能顯示 256 種顏色時留下的問題,現在已經不那麽重要了。
Gif的色彩問題是另壹個問題,這個問題建議大家先搜索壹下gif89a的特點,它的色彩控制與其他圖像壹樣,也是基於調色板的,不同的是gif89a有全局調色板和局部調色板之分,全局調色板對gif的所有幀都有效,局部調色板則是針對單幀的,兩者都限定為256種顏色。限制為 256 種顏色,顏色的數量可以根據需要進行調整,例如可以是從白色到紅色的漸變色,也可以是從藍色到黑色的漸變色。全局調色板很容易理解,所有幀***用的都是同壹個調色板,局部調色板是指每壹幀都可以使用完全不同的調色板,比如第壹幀有壹個 256 色的局部調色板,第二幀另壹個完全不同顏色的 256 色調色板就有可能(也就是說,在使用局部調色板時,如果把壹個 gif 的所有顏色加起來,就有可能超過 256 色)。(也就是說,在使用局部調色板時,如果將壹個 gif 中的所有顏色相加,有可能超過 256 種顏色)。全局調色板和本地調色板之間的關系如下:
GIF 文件可能有全局調色板,也可能沒有。如果定義了全局調色板,且未為特定圖像定義本地調色板,則該圖像使用全局調色板;如果圖像定義了自己的本地調色板,則該圖像使用自己的本地調色板。如果沒有定義全局調色板,GIF 文件中的每個圖像都必須定義自己的本地調色板。
看到這裏,您可能會問:既然有本地調色板(顯然可以顯示更多顏色),為什麽還要使用全局調色板呢?答案很簡單:為了優化大小,每幀使用本地調色板會占用更多空間,導致文件變大。在只使用全局調色板的情況下,文件可以優化為原始大小的 50-80%,而使用本地調色板的每個圖像組成的 gif 可能根本無法優化。