該庫允許您將 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。
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 ) - 包含三個浮點數的結構:色調、飽和度和強度。
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