我正在寻找在纯C中快速,准确地实现RGB到HSB以及从HSB到RGB的实现。请注意,我特别是在寻找色相,饱和度,亮度而不是HSL(光度)。
当然,我已经在Google上进行了广泛的搜索,但是在这里速度至关重要。我正在寻找有关可靠,快速,可靠的代码的任何具体建议。
最佳答案
首先
HSB和HLS的开发目的是在用户必须数字指定颜色的时代指定数字色相,饱和度和亮度(或色相,亮度和饱和度)。根据色觉特性,对HSB和HLS的常规配方进行了折衷。现在,用户可以从视觉上选择颜色,或者选择与其他媒体(例如PANTONE)相关的颜色,或者使用基于感知的系统(例如L * u * v *和L * a * b *),应该放弃HSB和HLS >
查看开源Java实现[source]
Boost库(我知道,它是C ++)似乎一次包含了到HSB的转换,但是如今我只能找到亮度转换(here)
关于c - 使用C语言进行快速,优化和准确的RGB <-> HSB转换代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6614792/