该库允许您将 HSI 颜色模型值转换为 RGB 和 RGBW 值。我写它是因为我想要对 WS2812 或 APA102C 等可编程 LED 以及 DMX-512 照明控制进行这种转换。它还允许您将 RGB 值转换为 HSI 值。
根据 HSI 值,当色调渐变时,LED 的整体功率输出保持恒定,并且眼睛的亮度保持恒定。这使得颜色褪色更加一致。如需更好的解释以及其所依据的示例代码,请参阅 Saiko LED 的博客文章。
ColorConverter.HSItoRGB(色调、饱和度、强度);
Hue ( float ) - 颜色色调,0 到 360 度
饱和度 ( float ) - 颜色饱和度,0 到 100
强度 ( float ) - 颜色强度,0 到 100
RGBColor ( struct ) - 包含四个整数的结构:红色、绿色、蓝色和白色。所有三个(红色、绿色和蓝色)的范围为 0 到 255。对于此函数,白色始终为 0。
RGBColor c = ColorConverter.HSItoRGB(色调、饱和度、强度); 串行.打印(c.red); 串行打印(“”); 串行.打印(c.green); 串行打印(“”); Serial.println(c.blue);
ColorConverter.HSItoRGB(色调、饱和度、强度);
Hue ( float ) - 颜色色调,0 到 360 度
饱和度 ( float ) - 颜色饱和度,0 到 100
强度 ( float ) - 颜色强度,0 到 100
RGBColor ( struct ) - 包含四个整数的结构:红色、绿色、蓝色和白色。所有四个值的范围都是从 0 到 255。
RGBColor c = ColorConverter.HSItoRGB(色调、饱和度、强度); 串行.打印(c.red); 串行打印(“”); 串行.打印(c.green); 串行打印(“”); 串行.打印(c.blue); 串行打印(“”); 串行.打印(c.white);
ColorConverter.RGBtoHSI(红、绿、蓝);
red ( int ) - 红色值,0 到 255
green ( int ) - 绿色值,0 到 255
blue ( int ) - 蓝色值,0 到 255
HSIColor ( struct ) - 包含三个浮点数的结构:色调、饱和度和强度。色调的范围从 0 到 359。饱和度和强度的范围从 0 到 100。
HSIColor c = ColorConverter.RGBtoHSI(红、绿、蓝); Serial.print(c.hue); 串行打印(“”); Serial.print(c.saturation); 串行打印(“”); Serial.println(c.intensity);
版权所有 (c) 汤姆·伊戈。保留所有权利。
该库是免费软件;您可以根据自由软件基金会发布的 GNU 较宽通用公共许可证的条款重新分发和/或修改它;许可证版本 2.1 或(由您选择)任何更高版本。
分发此库是希望它有用,但不提供任何保证;甚至没有适销性或特定用途适用性的默示保证。有关更多详细信息,请参阅 GNU 较宽通用公共许可证。
您应该随该库一起收到 GNU 较宽通用公共许可证的副本;如果没有,请写信给 Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA