Esta biblioteca le permite convertir valores del modelo de color HSI a valores RGB y RGBW. Lo escribí porque quería esta conversión para LED programables como WS2812 o APA102C, así como para control de iluminación DMX-512. También le permite convertir valores RGB a valores HSI.
Con valores HSI, la potencia de salida general del LED permanece constante y el brillo del ojo permanece constante cuando se desvanece entre tonos. Esto hace que los desvanecimientos de color sean más consistentes. Para obtener una mejor explicación y el código de ejemplo en el que se basa, consulte la publicación del blog de Saiko LED.
ColorConverter.HSItoRGB(tono, saturación, intensidad);
tono ( flotante ): tono de color, de 0 a 360 grados
saturación ( flotante ): saturación de color, 0 a 100
intensidad ( flotante ): intensidad del color, de 0 a 100
RGBColor ( estructura ): una estructura que contiene cuatro entradas: rojo, verde, azul y blanco. Los tres, o rojo, verde y azul, oscilarán entre 0 y 255. Para esta función, el blanco siempre es 0.
RGBColor c = ColorConverter.HSItoRGB(tono, saturación, intensidad); Impresión.serie(c.rojo); Serie.print(" "); Serial.print(c.verde); Serie.print(" "); Serial.println(c.azul);
ColorConverter.HSItoRGB(tono, saturación, intensidad);
tono ( flotante ): tono de color, de 0 a 360 grados
saturación ( flotante ): saturación de color, 0 a 100
intensidad ( flotante ): intensidad del color, de 0 a 100
RGBColor ( estructura ): una estructura que contiene cuatro entradas: rojo, verde, azul y blanco. Los cuatro oscilarán entre 0 y 255.
RGBColor c = ColorConverter.HSItoRGB(tono, saturación, intensidad); Impresión.de.serie(c.rojo); Serie.print(" "); Serial.print(c.verde); Serie.print(" "); Impresión.serie(c.azul); Serie.print(" "); Impresión.serie(c.blanco);
ColorConverter.RGBtoHSI(rojo, verde, azul);
rojo ( int ) - valor rojo, 0 a 255
verde ( int ) - valor verde, 0 a 255
azul ( int ) - valor azul, 0 a 255
HSIColor ( estructura ): una estructura que contiene tres flotadores: tono, saturación e intensidad. El tono variará de 0 a 359. La saturación y la intensidad variarán de 0 a 100.
HSIColor c = ColorConverter.RGBtoHSI(rojo, verde, azul); Serial.print(c.hue); Serie.print(" "); Serial.print(c.saturación); Serie.print(" "); Serial.println(c.intensidad);
Derechos de autor (c) Tom Igoe. Todos los derechos reservados.
Esta biblioteca es software gratuito; puede redistribuirlo y/o modificarlo según los términos de la Licencia pública general reducida GNU publicada por la Free Software Foundation; ya sea la versión 2.1 de la Licencia o (a su elección) cualquier versión posterior.
Esta biblioteca se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la Licencia pública general reducida de GNU para obtener más detalles.
Debería haber recibido una copia de la Licencia pública general reducida de GNU junto con esta biblioteca; en caso contrario, escriba a Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 EE. UU.