FxTools Logo
xyY ⇋ La*b* 转换工具

支持批量计算 xyY (x, y, Y) 与 CIELAB (L*, a*, b*) 之间的转换

保留小数
参考白点 (xyY) (不填写则使用 D65, 2° 白点)
xyY 输入/输出
La*b* 输入/输出
计算步骤
1. xyY → XYZ X = (x * Y) / y
Y = Y
Z = ((1 - x - y) * Y) / y
2. XYZ → La*b* (CIELAB) L* = 116 * f(Y/Yn) - 16
a* = 500 * (f(X/Xn) - f(Y/Yn))
b* = 200 * (f(Y/Yn) - f(Z/Zn))
f(t) = t^(1/3) if t > 0.008856 else 7.787*t + 16/116
3. La*b* → xyY fy = (L* + 16) / 116, fx = a*/500 + fy, fz = fy - b*/200
X = Xn * f_inv(fx), Y = Yn * f_inv(fy), Z = Zn * f_inv(fz)
x = X/(X+Y+Z), y = Y/(X+Y+Z)