Эта библиотека позволяет конвертировать значения цветовой модели HSI в значения RGB и RGBW. Я написал это, потому что мне нужно было это преобразование для программируемых светодиодов, таких как WS2812 или APA102C, а также для управления освещением DMX-512. Он также позволяет конвертировать значения RGB в значения HSI.
При значениях HSI общая выходная мощность светодиода остается постоянной, а яркость глаза остается постоянной при переходе через оттенки. Это обеспечивает более равномерное выцветание цвета. Более подробное объяснение и пример кода, на котором это основано, можно найти в сообщении блога Saiko LED.
ColorConverter.HSItoRGB(оттенок, насыщенность, интенсивность);
hue ( float ) — оттенок цвета, от 0 до 360 градусов
saturation ( float ) — насыщенность цвета, от 0 до 100.
Интенсивность ( float ) — интенсивность цвета, от 0 до 100.
RGBColor ( struct ) — структура, содержащая четыре целых числа: красный, зеленый, синий и белый. Все три, красный, зеленый и синий, будут находиться в диапазоне от 0 до 255. Для этой функции белый всегда равен 0.
RGBColor c = ColorConverter.HSItoRGB(оттенок, насыщенность, интенсивность); Serial.print(c.red); Серийный.принт(" "); Serial.print(c.green); Серийный.принт(" "); Serial.println(c.blue);
ColorConverter.HSItoRGB(оттенок, насыщенность, интенсивность);
hue ( float ) — оттенок цвета, от 0 до 360 градусов
saturation ( float ) — насыщенность цвета, от 0 до 100.
Интенсивность ( float ) — интенсивность цвета, от 0 до 100.
RGBColor ( struct ) — структура, содержащая четыре целых числа: красный, зеленый, синий и белый. Все четыре будут находиться в диапазоне от 0 до 255.
RGBColor c = ColorConverter.HSItoRGB(оттенок, насыщенность, интенсивность); Serial.print(c.red); Серийный.принт(" "); Serial.print(c.green); Серийный.принт(" "); Serial.print(c.blue); Серийный.принт(" "); Serial.print(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) Том Айго. Все права защищены.
Эта библиотека является свободным программным обеспечением; вы можете распространять его и/или изменять в соответствии с условиями Lesser General Public License GNU, опубликованной Фондом свободного программного обеспечения; либо версия 2.1 Лицензии, либо (по вашему выбору) любая более поздняя версия.
Данная библиотека распространяется в надежде, что она будет полезна, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии ТОВАРНОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ. Дополнительную информацию см. в GNU Lesser General Public License.
Вместе с этой библиотекой вы должны были получить копию GNU Lesser General Public License; если нет, напишите в Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.