如何在PHP中将CIE颜色空间转换为RGB或HEX颜色代码

时间:2014-02-05 12:02:37

标签: php colors

我正在开发一些Web应用程序,我希望将CIE 1931颜色空间代码转换为RGB或HEX代码。我该如何转换它?

1 个答案:

答案 0 :(得分:0)

好吧,要从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)