Conversion de Couleur RVB vers Hex : Guide de Référence Complet
La conversion RVB vers Hex est le processus de traduction d'une couleur définie par ses composantes rouge, verte et bleue en une représentation hexadécimale à six chiffres largement utilisée dans le développement web. Comprendre comment ces formats sont liés vous aide à travailler plus efficacement avec CSS, les outils de conception et la manipulation des couleurs dans le code.
Modèles de Couleur Expliqués
RVB (Rouge, Vert, Bleu)
Le RVB est un modèle de couleur additif où chaque composante de couleur est un entier de 0 à 255. La combinaison de trois valeurs produit plus de 16 millions de couleurs possibles.
rgb(255, 0, 0) → rouge pur
rgb(0, 255, 0) → vert pur
rgb(0, 0, 255) → bleu pur
rgb(255, 255, 255) → blanc
rgb(0, 0, 0) → noir
rgb(128, 128, 128) → gris moyen
Hexadécimal (Hex)
Les codes couleur hexadécimaux utilisent six chiffres hexadécimaux regroupés sous forme RRVVBB. Chaque paire représente l'intensité du rouge, du vert ou du bleu en notation base-16, où 00 est le minimum et FF le maximum.
#FF0000 → rouge
#00FF00 → vert
#0000FF → bleu
#FFFFFF → blanc
#000000 → noir
#808080 → gris
TSL (Teinte, Saturation, Luminosité)
Le TSL représente les couleurs comme un angle sur un cercle chromatique (0-360 degrés), plus des pourcentages de saturation et de luminosité. Il est plus intuitif pour les humains car vous pouvez ajuster la luminosité ou la saturation indépendamment.
hsl(0, 100%, 50%) → rouge
hsl(120, 100%, 50%) → vert
hsl(240, 100%, 50%) → bleu
hsl(0, 0%, 50%) → gris moyen
CMJN (Cyan, Magenta, Jaune, Noir/Key)
Le CMJN est un modèle de couleur soustractif utilisé pour l'impression. Les valeurs vont de 0 % à 100 % pour chaque composante. C'est l'inverse du RVB — ajouter plus d'encre réduit la lumière réfléchie.
cmyk(0%, 100%, 100%, 0%) → rouge
cmyk(100%, 0%, 100%, 0%) → vert
cmyk(0%, 0%, 0%, 100%) → noir
cmyk(0%, 0%, 0%, 0%) → blanc
Formules de Conversion
RVB vers Hex
Convertissez chaque composante RVB en une valeur hexadécimale à deux chiffres et concaténez-les :
R = 255 → FF
V = 128 → 80
B = 64 → 40
Résultat : #FF8040
function rgbToHex(r, g, b) {
const toHex = (n) => {
const hex = Math.max(0, Math.min(255, n)).toString(16);
return hex.length === 1 ? '0' + hex : hex;
};
return `#${toHex(r)}${toHex(g)}${toHex(b)}`.toUpperCase();
}
console.log(rgbToHex(255, 128, 64)); // #FF8040
function rgbToHex(int $r, int $g, int $b): string {
$r = max(0, min(255, $r));
$g = max(0, min(255, $g));
$b = max(0, min(255, $b));
return sprintf('#%02X%02X%02X', $r, $g, $b);
}
echo rgbToHex(255, 128, 64); // #FF8040
Hex vers RVB
Analysez la chaîne hexadécimale à six chiffres en trois paires et convertissez chacune de la base-16 à la base-10 :
function hexToRgb(hex) {
const clean = hex.replace('#', '');
const r = parseInt(clean.substring(0, 2), 16);
const g = parseInt(clean.substring(2, 4), 16);
const b = parseInt(clean.substring(4, 6), 16);
return { r, g, b };
}
console.log(hexToRgb('#FF8040')); // { r: 255, g: 128, b: 64 }
def hex_to_rgb(hex_color: str) -> tuple:
clean = hex_color.lstrip('#')
return tuple(int(clean[i:i+2], 16) for i in (0, 2, 4))
print(hex_to_rgb('#FF8040')) # (255, 128, 64)
RVB vers TSL
La conversion TSL implique de trouver les composantes de couleur dominante et secondaire pour déterminer l'angle de teinte :
function rgbToHsl(r, g, b) {
r /= 255; g /= 255; b /= 255;
const max = Math.max(r, g, b);
const min = Math.min(r, g, b);
const l = (max + min) / 2;
if (max === min) return { h: 0, s: 0, l: Math.round(l * 100) };
const d = max - min;
const s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
let h = 0;
if (max === r) h = ((g - b) / d + (g < b ? 6 : 0)) * 60;
else if (max === g) h = ((b - r) / d + 2) * 60;
else h = ((r - g) / d + 4) * 60;
return { h: Math.round(h), s: Math.round(s * 100), l: Math.round(l * 100) };
}
console.log(rgbToHsl(255, 128, 64)); // { h: 20, s: 100, l: 63 }
Tableau de Référence Rapide
| RVB | Hex | TSL | Nom de Couleur |
|---|---|---|---|
| 255, 0, 0 | #FF0000 | hsl(0, 100%, 50%) | Rouge |
| 0, 255, 0 | #00FF00 | hsl(120, 100%, 50%) | Lime |
| 0, 0, 255 | #0000FF | hsl(240, 100%, 50%) | Bleu |
| 255, 255, 0 | #FFFF00 | hsl(60, 100%, 50%) | Jaune |
| 0, 255, 255 | #00FFFF | hsl(180, 100%, 50%) | Cyan |
| 255, 0, 255 | #FF00FF | hsl(300, 100%, 50%) | Magenta |
| 0, 0, 0 | #000000 | hsl(0, 0%, 0%) | Noir |
| 255, 255, 255 | #FFFFFF | hsl(0, 0%, 100%) | Blanc |
| 128, 128, 128 | #808080 | hsl(0, 0%, 50%) | Gris |
| 128, 0, 0 | #800000 | hsl(0, 100%, 25%) | Marron |
| 0, 128, 0 | #008000 | hsl(120, 100%, 25%) | Vert |
| 0, 0, 128 | #000080 | hsl(240, 100%, 25%) | Marine |
| 255, 165, 0 | #FFA500 | hsl(39, 100%, 50%) | Orange |
| 128, 128, 0 | #808000 | hsl(60, 100%, 25%) | Olive |
| 128, 0, 128 | #800080 | hsl(300, 100%, 25%) | Violet |
Fonctions de Couleur CSS
Le CSS moderne prend en charge des fonctions de couleur qui vont au-delà des codes hexadécimaux de base :
/* Hex traditionnel */
.element { color: #FF8040; }
/* RVB avec alpha */
.element { color: rgba(255, 128, 64, 0.5); }
/* TSL avec alpha */
.element { color: hsla(20, 100%, 63%, 0.5); }
/* Syntaxe de couleur relative moderne */
.element { color: hsl(from #FF8040 h s calc(l + 10%)); }
/* OKLCH — espace colorimétrique perceptuellement uniforme */
.element { color: oklch(0.7 0.15 45); }
Cas d'Utilisation Courants
- Développement web — Traduction de maquettes de conception (RVB/TSL) en CSS (Hex)
- Visualisation de données — Génération d'échelles de couleurs par programmation
- Traitement d'images — Lecture de données de pixels en RVB et stockage en hex
- Charte graphique — Maintien de couleurs cohérentes entre les formats
- Accessibilité des couleurs — Calcul des rapports de contraste entre les couleurs
Outil en Ligne
L'outil Convertisseur RVB vers HEX sur Help2Code convertit les couleurs entre RVB, HEX, RVBA, TSL et CMJN avec un aperçu en direct. Choisissez une couleur, collez un code hex, ou générez une couleur aléatoire pour voir les quatre formats instantanément. L'aperçu couleur se met à jour en temps réel, et vous pouvez copier n'importe quel format en un clic. L'outil Extracteur de Palettes de Couleurs est également utile pour extraire des jeux de couleurs à partir d'images.
Conclusion
Comprendre la conversion RVB en Hex — et la relation entre les modèles de couleur — est essentiel pour les développeurs web et les designers. La conversion est simple : chaque canal RVB se convertit en une paire hexadécimale à deux chiffres. Une fois que vous connaissez le motif, passer entre RVB, Hex, TSL et CMJN devient une seconde nature. Utilisez l'outil Convertisseur RVB vers HEX pour des conversions instantanées et les exemples de code ci-dessus pour intégrer la logique couleur dans vos projets.