Tujuan utama model warna RGB (Merah Hijau Biru) adalah untuk penginderaan, representasi dan tampilan gambar dalam sistem elektronik, seperti televisi dan komputer.
HSL (Hue Saturation Lightness) adalah model warna alternatif, yang dirancang pada tahun 1970-an oleh para peneliti grafis komputer untuk lebih menyelaraskan dengan cara penglihatan manusia memandang atribut-atribut pembuatan warna.
Berikut adalah artikel wiki untuk RGB dan HSL . Adalah umum untuk program grafis untuk melakukan perhitungan dalam HSL, dan kemudian dikonversi ke format yang disukai untuk sebagian besar layar: RGB.
Tugasnya adalah menulis fungsi / program yang menggunakan HSL sebagai input dan output RGB.
Anda dapat memilih representasi pilihan Anda untuk I / O, selama konsisten di antara mereka.
Misalnya, mereka dapat berupa array / tuple dengan 3 elemen atau objek dengan 3 properti bernama h
,, s
dan l
, tetapi saya akan menerima variasi pintar lainnya, seperti menerima hsl sebagai integer (kehilangan presisi) dan menghasilkan integer rgb.
Input dapat dianggap aman dalam rentang dan format, yang keduanya dapat Anda putuskan. Saya sangat menyarankan rentang 0-1 0-1 0-1
atau 0-360 0-100 0-100
untuk hsl, dan 0-1 0-1 0-1
atau 0-255 0-255 0-255
untuk rgb.
Setiap jawaban diperlukan untuk menentukan kedua hal di atas, dan berikan berbagai variasi dalam jawaban Anda jika Anda sangat bangga dengan mereka, bahkan jika mereka tidak memiliki karakter yang lebih sedikit daripada variasi lainnya. Letakkan yang terkecil di atas.
Kasus uji semu untuk 0-360 0-100 0-100
→0-255 0-255 0-255
h s l → r g b
0 0 0 → 0 0 0
90 56 17 → 43 68 19
202 19 39 → 81 104 118
72 55 26 → 88 103 30
Rumus untuk konversi dapat ditemukan di sini :
Ini sebagai cara yang bagus untuk memvisualisasikan konversi:
a-b
notasi itu salah dalam dirinya sendiri ketika berhadapan dengan nilai-nilai non-integer, tapi saya akan mengatakan itu ok untuk menjaga pertanyaan lebih mudah dibaca. Jika ada orang lain yang mengeluh, saya akan memikirkannya kembali, jadi terima kasih telah menunjukkannya
[0,360)
saat itu :)
H
dari0-360
adalah[0,360)
, hal itu akan lebih baik ditulis sebagai0-359
?