0

編碼結果

Oklab 顏色

關於 Oklab 顏色

Oklab 顏色是使用明度和兩個顏色成分來表示顏色的知覺基礎色彩空間。它像 Lab 一樣分離明度和色味,並作為較新的模型,讓顏色變化更接近視覺感受。

成分意思範例值
L: 明度表示顏色的明亮程度。0% 為黑色,100% 為白色。60%
a表示從綠色到紅色的方向。負值偏綠,正值偏紅。0.1
b表示從藍色到黃色的方向。負值偏藍,正值偏黃。0.1

例如,紅色等主要顏色可以表示如下。

顏色Oklab 表示RGB 表示
紅色oklab(62.8% 0.2249 0.1258)rgb(255 0 0)
綠色oklab(51.98% -0.1403 0.1077)rgb(0 128 0)
亮綠色oklab(86.64% -0.2339 0.1795)rgb(0 255 0)
藍色oklab(45.2% -0.0325 -0.3115)rgb(0 0 255)
白色oklab(100% 0 0)rgb(255 255 255)
黑色oklab(0% 0 0)rgb(0 0 0)

如要包含透明度,請加入 Alpha 值。例如,半透明紅色可以表示為 oklab(62.8% 0.2249 0.1258 / 0.5)

明度、a、b 的處理

明度按 0% 到 100% 的範圍處理。低於 0% 的值按 0% 處理,高於 100% 的值會限制在 100%。

ab 使用正數或負數指定。它們的值不會被截斷到固定範圍,而是作為指定的 Oklab 成分處理。

Oklab 和 Oklch 的差異

Oklab 使用 ab 的直角座標表示顏色。Oklch 使用與 Oklab 相同的知覺基礎,但用彩度和色相表示色味。

Oklab 和 Lab 的差異

Lab 相比,Oklab 在改變色相或彩度時的視覺變化更接近均勻。由於明度和顏色成分被調整為更接近人類知覺,相同幅度的成分變化通常會產生更一致的視覺變化。例如,在插值顏色生成漸變,或只調整彩度時,明亮度和色相不容易出現不自然的偏移。