Pustaka ini memungkinkan Anda mengonversi nilai model warna HSI ke nilai RGB dan RGBW. Saya menulisnya karena saya menginginkan konversi ini untuk LED yang dapat diprogram seperti WS2812 atau APA102C serta untuk kontrol pencahayaan DMX-512. Ini juga memungkinkan Anda mengonversi nilai RGB ke nilai HSI.
Dengan nilai HSI, output daya keseluruhan LED tetap konstan, dan kecerahan mata tetap konstan, ketika memudarkan warna. Hal ini membuat warna memudar lebih konsisten. Untuk penjelasan yang lebih baik, dan contoh kode yang mendasarinya, lihat postingan blog Saiko LED.
ColorConverter.HSitoRGB(rona, saturasi, intensitas);
hue ( float ) - rona warna, 0 hingga 360 derajat
saturasi ( float ) - saturasi warna, 0 hingga 100
intensitas ( float ) - intensitas warna, 0 hingga 100
RGBColor ( struct ) - struktur yang berisi empat int: merah, hijau, biru, dan putih. Ketiganya atau merah, hijau, dan biru akan berkisar dari 0 hingga 255. Untuk fungsi ini, putih selalu 0.
RGBColor c = ColorConverter.HSitoRGB(rona, saturasi, intensitas); Serial.print(c.merah); Serial.cetak(" "); Serial.print(c.hijau); Serial.cetak(" "); Serial.println(c.biru);
ColorConverter.HSitoRGB(rona, saturasi, intensitas);
hue ( float ) - rona warna, 0 hingga 360 derajat
saturasi ( float ) - saturasi warna, 0 hingga 100
intensitas ( float ) - intensitas warna, 0 hingga 100
RGBColor ( struct ) - struktur yang berisi empat int: merah, hijau, biru, dan putih. Keempatnya akan berkisar dari 0 hingga 255.
RGBColor c = ColorConverter.HSitoRGB(rona, saturasi, intensitas); Serial.print(c.merah); Serial.cetak(" "); Serial.print(c.hijau); Serial.cetak(" "); Serial.print(c.biru); Serial.cetak(" "); Serial.print(c.putih);
ColorConverter.RGBtoHSI(merah, hijau, biru);
merah ( int ) - nilai merah, 0 hingga 255
hijau ( int ) - nilai hijau, 0 hingga 255
biru ( int ) - nilai biru, 0 hingga 255
HSIColor ( struct ) - struktur yang berisi tiga pelampung: rona, saturasi, dan intensitas. Rona akan berkisar dari 0 hingga 359. Saturasi dan intensitas akan berkisar dari 0 hingga 100.
HSIColor c = ColorConverter.RGBtoHSI(merah, hijau, biru); Serial.print(c.hue); Serial.cetak(" "); Serial.print(c.saturasi); Serial.cetak(" "); Serial.println(c.intensitas);
Hak Cipta (c) Tom Igoe. Baiklah, dilindungi undang-undang.
Perpustakaan ini adalah perangkat lunak gratis; Anda dapat mendistribusikan ulang dan/atau memodifikasinya berdasarkan ketentuan Lisensi Publik Umum Kecil GNU yang diterbitkan oleh Free Software Foundation; baik versi 2.1 dari Lisensi, atau (sesuai pilihan Anda) versi yang lebih baru.
Perpustakaan ini disebarluaskan dengan harapan dapat bermanfaat, namun TANPA JAMINAN APAPUN; bahkan tanpa jaminan tersirat mengenai KELAYAKAN UNTUK DIPERDAGANGKAN atau KESESUAIAN UNTUK TUJUAN TERTENTU. Lihat Lisensi Publik Umum Kecil GNU untuk lebih jelasnya.
Anda seharusnya sudah menerima salinan GNU Lesser General Public License bersama dengan perpustakaan ini; jika tidak, tulis surat ke Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA