在可调RGB LED灯设计中,我们会遇到部分标准色域颜色无法显示的问题。如下图,标准色域sRGB为黑色三角形,红色三角形为我们实际灯珠参数,在图片可以看到右上方、左下方有一部分颜色超过了我们灯实际能调的颜色,这样会导致颜色校准出错,出现负值。
通过观察发现,超出一部分的颜色与附近颜色近似,人眼很难分清楚。
通过这一点,我们可以把超出的部分映射到红色三角形边上。
但问题来了,应该怎么映射,是经过超色域点作红色三角形边的垂线,还是其他。
通过测试发现,图形中点为白色,并以这点向四周辐射,所以我们选取sRGB白点(0.3127,0.329),通过这点连接超色域的点,与红色三角形边的交点,即为映射点。
接下来就是两直线方程求解,但结果往往是无穷小数,要知道什么时候需要进位,什么时候舍弃。比如在右上方,算出的数如果是(0.512367,0.423785),我们取四位小数,要保证在红色三角形内,就应该采取舍弃末尾策略,处理后的数据为(0.5123,0.4237)。如在左下方,算