【发布时间】:2014-03-01 20:27:55
【问题描述】:
我正在开发一些网络应用程序,我想将 CIE 1931 颜色空间代码转换为 RGB 或 HEX 代码。如何转换?
【问题讨论】:
-
您要转换哪种色彩空间?是RGB吗?还是 XYZ?还是 xyY?
-
我想将 XY 中的 CIE 颜色空间转换为 RGB
我正在开发一些网络应用程序,我想将 CIE 1931 颜色空间代码转换为 RGB 或 HEX 代码。如何转换?
【问题讨论】:
嗯,要从 XYZ 得到 RGB,您可以使用这个矩阵:
[ R ] [ 3.240479 -1.537150 -0.498535 ] [ X ]
[ G ] = [ -0.969256 1.875992 0.041556 ] * [ Y ]
[ B ] [ 0.055648 -0.204043 1.057311 ] [ Z ]
但由于您有 xyY(至少,我假设)值,您首先需要将它们转换为 XYZ 值,如下所示:
X = (x*Y)/y
Y = Y
Z = ((1-x-y)*Y)/y
所以理论上,你可以这样计算:
R = 3.240479*((x*Y)/y) + -1.537150*Y + -0.498535*(((1-x-y)*Y)/y)
G = -0.969256*((x*Y)/y) + 1.875992*Y + 0.041556*(((1-x-y)*Y)/y)
B = 0.055648*((x*Y)/y) + -0.204043*Y + 1.057311*(((1-x-y)*Y)/y)
【讨论】: