이 라이브러리를 사용하면 HSI 색상 모델 값을 RGB 및 RGBW 값으로 변환할 수 있습니다. DMX-512 조명 제어뿐만 아니라 WS2812 또는 APA102C와 같은 프로그래밍 가능한 LED에 대한 이러한 변환을 원했기 때문에 이 글을 썼습니다. 또한 RGB 값을 HSI 값으로 변환할 수도 있습니다.
HSI 값을 사용하면 LED의 전체 전력 출력이 일정하게 유지되며 색상이 변할 때 눈의 밝기도 일정하게 유지됩니다. 이렇게 하면 색상이 더욱 일관되게 흐려집니다. 더 나은 설명과 이를 기반으로 하는 예제 코드를 보려면 Saiko LED의 블로그 게시물을 참조하세요.
ColorConverter.HSItoRGB(색조, 채도, 강도);
색조( float ) - 색상 색조, 0~360도
채도( float ) - 색상 채도, 0~100
강도( float ) - 색상 강도, 0~100
RGBColor( struct ) - 빨간색, 녹색, 파란색, 흰색의 4개 정수를 포함하는 구조입니다. 세 가지 또는 빨간색, 녹색, 파란색 모두 범위는 0~255입니다. 이 기능의 경우 흰색은 항상 0입니다.
RGBColor c = ColorConverter.HSItoRGB(색조, 채도, 강도); Serial.print(c.red); Serial.print(" "); Serial.print(c.green); Serial.print(" "); Serial.println(c.blue);
ColorConverter.HSItoRGB(색조, 채도, 강도);
색조( float ) - 색상 색조, 0~360도
채도( float ) - 색상 채도, 0~100
강도( float ) - 색상 강도, 0~100
RGBColor( struct ) - 빨간색, 녹색, 파란색, 흰색의 4개 정수를 포함하는 구조입니다. 네 가지 모두 범위는 0에서 255까지입니다.
RGBColor c = ColorConverter.HSItoRGB(색조, 채도, 강도); Serial.print(c.red); Serial.print(" "); Serial.print(c.green); Serial.print(" "); Serial.print(c.blue); Serial.print(" "); Serial.print(c.white);
ColorConverter.RGBtoHSI(빨간색, 녹색, 파란색);
red ( int ) - 빨간색 값, 0 ~ 255
green ( int ) - 녹색 값, 0 ~ 255
파란색( int ) - 파란색 값, 0~255
HSIColor ( struct ) - 색조, 채도, 강도의 세 가지 부동소수점을 포함하는 구조입니다. 색조의 범위는 0~359입니다. 채도와 강도의 범위는 0~100입니다.
HSIColor c = ColorConverter.RGBtoHSI(빨간색, 녹색, 파란색); Serial.print(c.hue); Serial.print(" "); Serial.print(c.saturation); Serial.print(" "); Serial.println(c.intensity);
저작권 (c) Tom Igoe. 좋습니다.
이 라이브러리는 무료 소프트웨어입니다. Free Software Foundation에서 발행한 GNU Lesser General Public License의 조건에 따라 재배포 및/또는 수정할 수 있습니다. 라이센스 버전 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)로 편지를 보내주십시오.