我还没有找到一个算法/实现,可以将rgb(0, 96, 255)转换成Hs1,然后再转换回来,而不会得到一个稍微不同的值(rgb(0, 98, 255))。这意味着每个人的算法都被破坏了(包括Wolfram|Alpha),-or不能代表每一种RGB颜色。
哪一个是正确的?
发布于 2012-07-20 09:21:34
n.m.正确-“HSL可以表示每种RGB颜色,但HSL不能舍入到最接近的整数。”
我最终使用我正在编写的color类在内部将颜色存储为未四舍五入的HSL。然后,RGB和HSL的getter方法在被调用时只对它们进行四舍五入。这使得可以执行诸如更改色调和饱和度之类的操作,即使是在RGB颜色上,也不会得到不准确的转换。
仍然没有办法准确地转换四舍五入的RGB和四舍五入的HSL,所以解决方案是简单地永远不要转换四舍五入的RGB到/从四舍五入的HSL。
https://stackoverflow.com/questions/11485569
复制相似问题