Penukar HSL kepada RGB

Tukar HSL kepada RGB secara langsung semasa anda menaip — percuma, serta-merta, lengkap dengan contoh pengiraan dan carta warna biasa.

Contoh pengiraan

HSL 11, 100%, 60% = RGB 255, 87, 51

Cara penukaran berfungsi

  • HSL menerangkan warna yang sama mengikut rona (hue, 0–360° pada roda warna), ketepuan (saturation) dan kecerahan (lightness) — sangat berguna untuk menggelapkan atau mengurangkan ketepuan warna dengan hanya mengubah satu komponen.

Warna biasa dalam HSL dan RGB

WarnaHSLRGB
Merah0, 100%, 50%255, 0, 0
Oren39, 100%, 50%255, 165, 0
Kuning60, 100%, 50%255, 255, 0
Hijau120, 100%, 25%0, 128, 0
Sian180, 100%, 50%0, 255, 255
Biru240, 100%, 50%0, 0, 255
Ungu300, 100%, 25%128, 0, 128
Merah Jambu350, 100%, 88%255, 192, 203
Coklat0, 59%, 41%165, 42, 42
Putih0, 0%, 100%255, 255, 255
Kelabu0, 0%, 50%128, 128, 128
Hitam0, 0%, 0%0, 0, 0

Setiap penukaran dijalankan dalam penyemak imbas anda. Tiada apa-apa yang anda masukkan akan dimuat naik ke BroBroGo.

Soalan Lazim

Bagaimanakah cara untuk menukar HSL kepada RGB?

Taip atau tampal nilai HSL anda di atas — nilai RGB akan dikemas kini secara langsung semasa anda menaip. Anda juga boleh memilih warna secara visual menggunakan palet warna.

Adakah penukaran ini tepat?

Nilai dibundarkan kepada nombor bulat, iaitu format yang diperlukan oleh CSS dan alat reka bentuk. Perbezaannya adalah terlalu kecil untuk dikesan oleh mata kasar.

Keunikan Halaman Ini: HSL untuk Pemikiran Manusia, RGB untuk Skrin

Kebanyakan alat penukar warna dalam talian hanya menukar antara format tanpa menjelaskan sebab anda perlu menggunakan satu model berbanding yang lain. Halaman ini dibina khusus untuk menjembatani dua cara berfikir tentang warna: HSL, yang direka untuk penaakulan manusia, dan RGB, yang merupakan ruang kerja sebenar untuk matematik warna pada skrin.

Apabila anda melaraskan kecerahan dalam HSL, warna asal (hue) kekal utuh. Ini sebabnya HSL digunakan secara meluas dalam penjanaan palet dan tema – anda boleh menghasilkan variasi warna yang konsisten tanpa mengubah rona asas. Sebaliknya, dalam RGB, menukar satu nombor secara rawak akan mengubah kedua-dua kecerahan dan hue secara serentak, menyukarkan rekaan manual. Alat ini mengambil nilai HSL yang anda fahami (contohnya 243°, 75%, 59%) dan memberikan nombor tepat yang diperlukan oleh skrin untuk memancarkan cahaya: rgb(79, 70, 229).

Lebih penting lagi, penukaran ini adalah tanpa kehilangan (lossless). Setiap nilai HSL yang sah memetakan kepada satu triplet RGB dalam julat yang boleh dipaparkan. Tidak seperti penukaran daripada ruang warna lain seperti LAB atau CMYK ke RGB, tiada pemotongan di luar gamut (out‑of‑gamut clipping) berlaku di sini. Warna yang anda lihat dalam HSL akan sama apabila ditukar kembali ke RGB – tiada pergeseran warna.

Semua pengiraan dijalankan terus dalam pelayar anda. Tiada data yang dimuat naik ke pelayan. Dengan itu, alat ini sesuai digunakan untuk kerja sensitif atau semasa luar talian.

Bagaimana Penukaran HSL ke RGB Berfungsi

Penukaran ini menggunakan algoritma piawai yang ditakrifkan dalam spesifikasi CSS. Berikut adalah langkah asasnya:

  1. Hue (0–360°) diubah menjadi sudut pada roda warna. Nilai ini kemudian ditukar kepada kedudukan dalam ruang RGB menggunakan fungsi trigonometri dan pemetaan berperingkat.
  2. Saturation (0–100%) menentukan keamatan warna berbanding kelabu. Pada 0%, warna menjadi kelabu sepenuhnya; pada 100%, warna paling tulen.
  3. Lightness (0–100%) mengawal kecerahan: 0% ialah hitam, 100% ialah putih, dan 50% memberikan warna yang paling "tulen" tanpa penambahan putih atau hitam.

Algoritma teras menggunakan formula berikut (dipaparkan dalam banyak rujukan CSS):

  • Jika lightness <= 0.5, maka temp2 = lightness * (1 + saturation)
  • Jika lightness > 0.5, maka temp2 = lightness + saturation - lightness * saturation
  • temp1 = 2 * lightness - temp2

Kemudian, untuk setiap saluran RGB (merah, hijau, biru), satu nilai perantaraan temp3 dikira berdasarkan kedudukan hue yang dilaraskan. Akhirnya, setiap saluran diperoleh dengan:

  • Jika temp3 < 1/6channel = temp1 + (temp2 - temp1) * 6 * temp3
  • Jika 1/6 <= temp3 < 1/2channel = temp2
  • Jika 1/2 <= temp3 < 2/3channel = temp1 + (temp2 - temp1) * (2/3 - temp3) * 6
  • Selainnya → channel = temp1

Nilai channel kemudian didarab dengan 255 dan dibundarkan untuk menghasilkan integer RGB antara 0 dan 255.

Contoh kerja: Untuk HSL (243°, 75%, 59%):

  • Lightness 59% = 0.59 (>0.5), maka temp2 = 0.59 + 0.75 - 0.59*0.75 = 0.9875
  • temp1 = 2*0.59 - 0.9875 = 0.1925
  • Untuk saluran merah (hue asas 243° → sekitar 0.675 dalam unit bulatan), pengiraan menghasilkan nilai ~0.31, maka R = 79.
  • Saluran hijau dan biru menghasilkan 70 dan 229. Hasil akhir: rgb(79, 70, 229).

Formula ini terjamin menghasilkan nilai dalam julat 0–255 tanpa pemotongan, kerana HSL sendiri direka untuk mewakili semua warna yang boleh dipaparkan oleh RGB.

Input dan Output yang Disediakan

Alat ini menerima satu input utama dan terus mengemas kini enam output secara langsung.

Medan Input Format Contoh
HSL Hue 0–360°, Saturation %, Lightness % 243, 75%, 59%

Setiap kali anda menaip atau menampal nilai HSL yang sah, semua medan output berikut dikemas kini serentak:

Medan Output Contoh Nilai Penerangan Ringkas
HEX #4F46E5 Perwakilan heksadesimal RGB, lazim dalam CSS
RGB 79, 70, 229 Tiga integer 0–255 untuk merah, hijau, biru
HSL 243°, 75%, 59% Nilai asal yang sama (diformat semula)
HSV 243°, 69%, 90% Hue, Saturation, Value – ruang alternatif untuk pemilihan warna
CMYK 65%, 69%, 0%, 10% Cyan, Magenta, Yellow, Key (hitam) – anggaran skrin
LAB (37, 29, -66) Ruang warna perceptually uniform – nilai L (kecerahan), a (hijau-merah), b (biru-kuning)

Nota penting mengenai CMYK: Nilai CMYK yang dipaparkan hanyalah anggaran berdasarkan penukaran langsung daripada RGB. Dalam percetakan profesional, nilai sebenar CMYK bergantung pada profil dakwat, jenis kertas, dan mesin cetak. Jangan gunakan angka ini untuk kerja cetak akhir tanpa pengesahan melalui profil ICC atau perisian pra-cetak.

Peraturan dan Kesilapan Biasa

Alat ini menguatkuasakan format input yang ketat untuk mengelakkan kekeliruan. Jika nilai HSL dimasukkan secara tidak sah, mesej ralat berikut akan dipaparkan:

“Masukkan HSL sebagai hue 0–360 dengan dua peratusan, contoh 243, 75%, 59%.”

Beberapa kesilapan tipikal yang perlu dielakkan:

  • Hue di luar julat 0–360 – Nilai seperti 400° tidak sah. Walaupun sesetengah pengguna beranggapan 360° bersamaan 0°, alat ini hanya menerima 0–360.
  • Saturation atau Lightness tanpa simbol peratus – Menulis 75 tanpa % akan ditolak. Simbol peratus diperlukan untuk membezakan daripada nombor integer biasa.
  • Penggunaan koma yang salah – Format tepat ialah hue, saturation%, lightness% dengan satu koma selepas hue dan satu koma selepas saturation, tetapi tanpa koma tambahan. Contoh sah: 243, 75%, 59%.
  • Nilai peratus melebihi 100% – Nilai seperti 150% untuk saturation tidak bermakna dalam HSL piawai. Julat bagi kedua-duanya ialah 0% hingga 100%.

Perlu diingat bahawa walaupun HSL membenarkan nilai lightness 0% (hitam) dan 100% (putih), saturation tidak akan memberi kesan pada titik tersebut – warna akan kekal kelabu. Ini bukan ralat, tetapi ciri model HSL. Alat ini akan tetap menukar dengan betul.

Siapa yang Memerlukan Alat Ini?

  • Pereka bentuk yang membina palet warna atau tema – Apabila anda bekerja dalam HSL untuk menghasilkan variasi warna yang harmoni (contohnya, menukar kecerahan tanpa mengubah hue), anda memerlukan nilai RGB tepat untuk dimasukkan ke dalam kod CSS, SwiftUI, atau library lain yang menggunakan RGB.
  • Pembangun front‑end – Banyak alat reka bentuk (Figma, Sketch, Adobe XD) membolehkan anda menyalin warna dalam HSL, tetapi kod CSS sering menggunakan RGB atau HEX. Alat ini menjimatkan langkah pengiraan manual.
  • Sesiapa yang lebih selesa berfikir dalam istilah manusia – Daripada meneka tiga nombor antara 0–255, anda boleh menentukan hue sebagai "biru kebiruan sekitar 240°", menetapkan saturation untuk keamatan, dan mengawal kecerahan terus. Alat ini memberikan jambatan antara fikiran dan skrin.

Perbandingan dengan Model Warna Lain

Model warna berbeza dicipta untuk tujuan berbeza. Jadual di bawah meringkaskan perbezaan utama yang berkaitan dengan halaman ini:

Model Asas Kegunaan Utama Kekangan Penukaran
HSL Hue, Saturation, Lightness Rekaan palet, tema, aksesibiliti kecerahan Penukaran ke RGB adalah lossless, terus
RGB Merah, Hijau, Biru (additif) Paparan skrin, kod CSS, canvas Tiada – ini adalah model sasaran
HEX Perwakilan heksadesimal RGB CSS padat, ramai pembangun suka Sama seperti RGB, cuma format berbeza
HSV Hue, Saturation, Value Pemilihan warna dalam perisian (contoh, Photoshop) Penukaran ke RGB lossless, tetapi value berbeza dengan lightness
CMYK Cyan, Magenta, Yellow, Key (subtraktif) Percetakan Penukaran ke RGB adalah anggaran, bergantung pada profil
LAB L (kecerahan), a, b (warna) Pengukuran warna perceptually uniform Penukaran ke RGB boleh menyebabkan pemotongan gamut jika warna di luar sRGB

Mengapa tiada pemotongan gamut di sini? HSL dan RGB berkongsi gamut yang sama – iaitu semua warna yang boleh diwakili dalam sRGB. Apabila anda menukar dari HSL ke RGB, anda hanya mengubah suai perwakilan, bukan ruang warna. Sebaliknya, jika anda menukar dari LAB (yang boleh mewakili warna di luar sRGB) ke RGB, warna di luar julat perlu dipotong atau diubah suai, menyebabkan pergeseran warna. Inilah sebab mengapa halaman ini bebas daripada isu clipping – ia kekal dalam ruang sRGB sepanjang masa.

Soalan Lazim (FAQ)

1. Apakah perbezaan antara HSL dan HSV? HSL (Hue, Saturation, Lightness) menggunakan kecerahan (lightness) yang diambil sebagai purata antara hitam dan putih penuh. HSV (Hue, Saturation, Value) menggunakan value, iaitu komponen maksimum antara R, G, B. Bentuk modelnya berbeza: dalam HSL, kecerahan maksimum (100%) menghasilkan putih, manakala dalam HSV, value maksimum (100%) menghasilkan warna tulen tanpa penambahan hitam. Akibatnya, palet yang dijana dalam HSL lebih intuitif untuk pelarasan cahaya, manakala HSV lebih sesuai untuk pemilihan warna dalam aplikasi lukisan.

2. Bolehkah saya memasukkan nilai perpuluhan untuk hue, seperti 243.5°? Ya, alat ini menerima hue dengan satu tempat perpuluhan. Contoh: 243.5, 75%, 59% adalah sah. Walau bagaimanapun, nilai perpuluhan untuk saturation dan lightness hanya diterima jika disertakan simbol peratus (75.5% sah,.75% tidak sah).

3. Mengapa nilai CMYK yang dipaparkan berbeza daripada apa yang saya dapat dalam Photoshop? Photoshop menggunakan profil ICC khusus untuk peranti cetak tertentu, manakala alat ini menggunakan formula penukaran generik (contohnya, algoritma penukaran perpuluhan tanpa penyesuaian profil). Untuk kerja cetak profesional, rujuk nilai CMYK yang dihasilkan oleh perisian yang menyokong profil warna, atau lakukan ujian cetak fizikal.

4. Apakah maksud "lossless" dalam konteks penukaran ini? Bermaksud setiap nilai HSL yang sah menghasilkan satu dan hanya satu nilai RGB dalam julat 0–255, dan apabila anda menukar RGB tersebut kembali ke HSL, anda akan mendapat nilai HSL asal yang tepat (dengan toleransi pembundaran). Tiada kehilangan maklumat atau perubahan warna berlaku. Ini tidak benar untuk semua penukaran model warna, contohnya, daripada LAB atau CMYK ke RGB.

5. Bolehkah saya menggunakan alat ini untuk semakan aksesibiliti warna? Tidak secara langsung. Alat ini hanya menukar format warna. Untuk aksesibiliti, anda perlu mengira nisbah kontras antara warna latar dan teks menggunakan nilai RGB yang dihasilkan. Terdapat alat khusus untuk tujuan itu. Namun, menggunakan HSL memudahkan anda memilih variasi warna dengan kecerahan terkawal, yang membantu dalam mereka bentuk kontras yang mencukupi.

6. Adakah alat ini berfungsi di luar talian? Ya. Semua kod JavaScript untuk penukaran dimuatkan dalam halaman sekali sahaja. Setelah halaman dimuat, tiada sambungan internet diperlukan untuk melakukan penukaran. Anda boleh menyimpan halaman ini secara setempat dan menggunakannya tanpa akses web.