ไลบรารีนี้ช่วยให้คุณแปลงค่าโมเดลสี HSI เป็นค่า RGB และ RGBW ฉันเขียนสิ่งนี้เพราะฉันต้องการการแปลงนี้สำหรับ LED ที่ตั้งโปรแกรมได้ เช่น WS2812 หรือ APA102C รวมถึงการควบคุมไฟ DMX-512 นอกจากนี้ยังช่วยให้คุณสามารถแปลงค่า RGB เป็นค่า HSI ได้
ด้วยค่า HSI กำลังขับโดยรวมของ LED จะคงที่ และความสว่างของดวงตาจะคงที่เมื่อหรี่แสงไปตามเฉดสีต่างๆ ทำให้สีซีดจางสม่ำเสมอยิ่งขึ้น สำหรับคำอธิบายที่ดีกว่าและโค้ดตัวอย่างที่ใช้ โปรดดูบล็อกโพสต์ของ Saiko LED
ColorConverter.HSItoRGB(เฉดสี, ความอิ่มตัว, ความเข้ม);
เฉดสี ( ลอย ) - เฉดสี 0 ถึง 360 องศา
ความอิ่มตัว ( ลอย ) - ความอิ่มตัวของสี 0 ถึง 100
ความเข้ม ( ลอย ) - ความเข้มของสี 0 ถึง 100
RGBColor ( struct ) - โครงสร้างที่มีสี่ ints: สีแดง สีเขียว สีน้ำเงิน และสีขาว ทั้งสามหรือสีแดง เขียว และน้ำเงินจะมีค่าตั้งแต่ 0 ถึง 255 สำหรับฟังก์ชันนี้ สีขาวจะเป็น 0 เสมอ
RGBColor c = ColorConverter.HSItoRGB(เฉดสี ความอิ่มตัวของสี ความเข้ม); Serial.print(c.red); Serial.print(" "); Serial.print(c.สีเขียว); Serial.print(" "); Serial.println(c.blue);
ColorConverter.HSItoRGB(เฉดสี, ความอิ่มตัว, ความเข้ม);
เฉดสี ( ลอย ) - เฉดสี 0 ถึง 360 องศา
ความอิ่มตัว ( ลอย ) - ความอิ่มตัวของสี 0 ถึง 100
ความเข้ม ( ลอย ) - ความเข้มของสี 0 ถึง 100
RGBColor ( struct ) - โครงสร้างที่มีสี่ ints: สีแดง สีเขียว สีน้ำเงิน และสีขาว ทั้งสี่จะมีค่าตั้งแต่ 0 ถึง 255
RGBColor c = ColorConverter.HSItoRGB(เฉดสี ความอิ่มตัวของสี ความเข้ม); Serial.print(c.red); Serial.print(" "); Serial.print(c.สีเขียว); Serial.print(" "); Serial.print(c.blue); Serial.print(" "); Serial.print(c.สีขาว);
ColorConverter.RGBtoHSI(แดง, เขียว, น้ำเงิน);
สีแดง ( int ) - ค่าสีแดง 0 ถึง 255
สีเขียว ( 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.ความเข้ม);
ลิขสิทธิ์ (c) ทอม อิโกเอะ สงวนลิขสิทธิ์.
ไลบรารีนี้เป็นซอฟต์แวร์ฟรี คุณสามารถแจกจ่ายต่อและ/หรือแก้ไขได้ภายใต้เงื่อนไขของ GNU Lesser General Public License ตามที่เผยแพร่โดย Free Software Foundation เวอร์ชัน 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