Masalah utama dina ngarobah nilai warna héksadesimal kana RGB nyaéta teu aya korespondensi hiji-ka-hiji antara dua format. Contona, warna #FF0000 digambarkeun dina RGB salaku 255, 0, 0, tapi dina hex bakal sarua jeung warna #F0. Ieu ngandung harti yén dua kelir béda bisa boga nilai RGB sarua lamun aranjeunna diwangun ku jumlah béda unggal komponén warna.
"use strict"; function hexToRgb(hex) { var result = /^#?([a-fd]{2})([a-fd]{2})([a-fd]{2})$/i.exec(hex); return result ? { r: parseInt(result[1], 16), g: parseInt(result[2], 16), b: parseInt(result[3], 16) } : null; }
"Nganggo ketat";
Baris kode ieu ngamungkinkeun mode ketat, nu mangrupakeun cara nulis JavaScript hadé. Dina modeu ketat, anjeun moal tiasa nganggo variabel anu teu didéklarasikeun. Baris kode ieu kedah aya di luhureun file JavaScript anjeun supados modeu ketat tiasa jalan.
fungsi hexToRgb(hex) {
var hasil = /^#?([a-fd]{2})([a-fd]{2})([a-fd]{2})$/i.exec(hex);
hasilna balik? {
r: parseInt(hasil[1], 16),
g: parseInt(hasil[2], 16),
b: parseInt(hasil[3], 16)
}: null;
}
Ieu mangrupikeun fungsi anu ngarobih nilai warna hex ka nilai warna RGB. Fungsina nyandak hiji parameter, nyaéta nilai warna hex anu badé dirobih. Fungsina ngagunakeun ekspresi biasa pikeun nyocogkeun pola nilai warna hex, sareng upami mendakan patandingan, éta bakal ngabalikeun obyék kalayan nilai beureum, héjo, sareng biru. Lamun teu manggihan patandingan, eta bakal balik null.
Daptar eusi
Konversi antara kelir
Teu aya hiji-ukuran-cocog-sadaya jawaban pikeun patarosan ieu, sabab cara pangalusna pikeun ngarobah kelir antara spasi warna béda bisa rupa-rupa gumantung kana kabutuhan husus tina aplikasi Anjeun. Nanging, sababaraha tip ngeunaan cara ngarobah warna antara rohangan warna dina JavaScript tiasa dipendakan di handap.
Pikeun ngarobah warna tina hiji spasi warna ka sejen, anjeun tiasa nganggo rgb () sarta hsl () fungsi. Fungsi ieu nyandak tilu argumen: nilai beureum, héjo, sareng biru masing-masing. Argumen kahiji nangtukeun spasi warna dasar (misalna RGB), sedengkeun argumen kadua jeung katilu nangtukeun spasi warna target (misalna HSL).
Pikeun ngarobah warna tina hiji format piksel ka sejen, anjeun tiasa nganggo css () fungsi. Pungsi ieu nyandak dina dua argumen: string ngalambangkeun nami sipat CSS (misalna "warna") jeung angka ngalambangkeun nilai nu dipikahoyong pikeun sipat éta (misalna "50").
format warna
Aya sababaraha format warna anu béda anu anjeun tiasa dianggo dina JavaScript.
RGB - Beureum, Héjo, Bulao
HEX - #RRGGBB
HSL - Hue, Saturation, Lightness