RGB vers HSL

Entrée RGB
Exemple
Sortie HSL

Convertisseur RGB en HSL : Convertir les codes couleur RGB en codes couleur HSL

Vous recherchez un moyen facile et efficace de convertir les codes couleur RGB en codes couleur HSL ? Ne cherchez pas plus loin que le Convertisseur RGB en HSL. Notre outil en ligne est gratuit, rapide et sécurisé, et ne nécessite aucune dépendance système ou logicielle.

Fonctionnalités

  • Outil gratuit et en ligne
  • Aucune dépendance système ou logicielle
  • Bouton Effacer et Copier
  • Entrée d'exemple
  • Sécurité des données grâce à un calcul local

Introduction

Le Convertisseur RGB en HSL est un outil en ligne qui permet aux utilisateurs de convertir les codes couleur RGB en codes couleur HSL. RGB (rouge, vert, bleu) et HSL (teinte, saturation, luminosité) sont deux façons différentes de représenter les couleurs, et le Convertisseur RGB en HSL facilite la conversion entre les deux.

Avantages

Le principal avantage d'utiliser le Convertisseur RGB en HSL est de simplifier le processus de conversion des codes couleur RGB en codes couleur HSL. L'outil est gratuit et en ligne, donc les utilisateurs peuvent y accéder de n'importe où avec une connexion internet. De plus, l'outil est rapide et sécurisé, ce qui en fait un choix fiable pour toute personne ayant besoin de convertir des codes couleur RGB en codes couleur HSL.

L'algorithme principal

L'algorithme principal utilisé par le Convertisseur RGB en HSL est simple et facile à comprendre. Il implique un ensemble de calculs simples pour convertir les codes couleur RGB en codes couleur HSL. La formule de conversion de RGB en HSL est la suivante :

  • Pour calculer H :
    • Trouver les valeurs maximale et minimale parmi R, V et B.
    • H est ensuite calculé en utilisant la formule suivante :
    if (max == min) H = 0
    else if (max == R) H = 60 _ ((G - B) / (max - min))
    else if (max == G) H = 60 _ ((B - R) / (max - min)) + 120
    else if (max == B) H = 60 \* ((R - G) / (max - min)) + 240
    if (H < 0) H += 360
  • Pour calculer S :
    • Si le max et le min sont tous les deux 0, S vaut 0.
    • Sinon, S est calculé comme (max - min) / (1 - abs(max + min - 1))
  • Pour calculer L :
    • L est simplement la moyenne de max et min.

Comment utiliser le convertisseur RVB en HSL

Utiliser le convertisseur RVB en HSL est facile et simple. Voici un guide étape par étape :

  1. Saisissez ou collez le code couleur RVB que vous souhaitez convertir dans l'outil.
  2. Cliquez sur le bouton "Convertir" pour convertir le code couleur RVB en HSL.
  3. Le code couleur HSL s'affichera à l'écran.
  4. Copiez le code couleur HSL dans votre presse-papiers en cliquant sur le bouton "Copier".

Et voilà ! En seulement quelques clics, vous pouvez convertir n'importe quel code couleur RVB en son code couleur HSL correspondant.

Examples

Python

def rgb_to_hsl(r, g, b):
    r, g, b = r/255.0, g/255.0, b/255.0
    max_val = max(r, g, b)
    min_val = min(r, g, b)
    h, s, l = 0, 0, ((max_val + min_val) / 2)

    if max_val == min_val:
        h = s = 0
    else:
        diff = max_val - min_val
        s = diff / (2 - max_val - min_val)
        if max_val == r:
            h = (g - b) / diff + (g < b and 6 or 0)
        elif max_val == g:
            h = (b - r) / diff + 2
        else:
            h = (r - g) / diff + 4
        h /= 6

    return (int(h*360), int(s*100), int(l*100))

C

#include <stdio.h>

void ConvertRGBtoHSL(int r, int g, int b)
{
    float fr = r / 255.0f;
    float fg = g / 255.0f;
    float fb = b / 255.0f;
    float max = fr > fg ? (fr > fb ? fr : fb) : (fg > fb ? fg : fb);
    float min = fr < fg ? (fr < fb ? fr : fb) : (fg < fb ? fg : fb);
    float h = 0, s = 0, l = (max + min) / 2.0;
    if (max == min) {
        h = 0;
        s = 0;
    }
    else {
        float d = max - min;
        s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
        if (max == fr) {
            h = (fg - fb) / d + (fg < fb ? 6 : 0);
        }
        else if (max == fg) {
            h = (fb - fr) / d + 2;
        }
        else if (max == fb) {
            h = (fr - fg) / d + 4;
        }
        h /= 6;
    }
    printf("HSL: %.0f, %.0f%%, %.0f%%\n", h * 360, s * 100, l * 100);
}

JavaScript

function rgbToHsl(r, g, b) {
  (r /= 255), (g /= 255), (b /= 255);
  let max = Math.max(r, g, b),
    min = Math.min(r, g, b);
  let h,
    s,
    l = (max + min) / 2;

  if (max == min) {
    h = s = 0;
  } else {
    let d = max - min;
    s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
    switch (max) {
      case r:
        h = (g - b) / d + (g < b ? 6 : 0);
        break;
      case g:
        h = (b - r) / d + 2;
        break;
      case b:
        h = (r - g) / d + 4;
        break;
    }
    h /= 6;
  }
  return [h * 360, s * 100, l * 100];
}

Java

public static void rgbToHsl(int r, int g, int b) {
    float fr = r / 255.0f;
    float fg = g / 255.0f;
    float fb = b / 255.0f;
    float max = Math.max(fr, Math.max(fg, fb));
    float min = Math.min(fr, Math.min(fg, fb));
    float h = 0, s = 0, l = (max + min) / 2;
    if (max == min) {
        h = 0;
        s = 0;
    } else {
        float d = max - min;
        s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
        if (max == fr) {
            h = (fg - fb) / d + (fg < fb ? 6 : 0);
        } else if (max == fg) {
            h = (fb - fr) / d + 2;
        } else if (max == fb) {
            h = (fr - fg) / d + 4;
        }
        h /= 6;
    }
    System.out.printf("HSL: %.0f, %.0f%%, %.0f%%\n", h * 360, s * 100, l * 100);
}

PHP

function RGB2HSL($R, $G, $B) {
    $R = ($R / 255);
    $G = ($G / 255);
    $B = ($B / 255);

    $maxValue = max($R, $G, $B);
    $minValue = min($R, $G, $B);
    $delta = $maxValue - $minValue;

    $L = ($maxValue + $minValue) / 2;
    $H = 0;
    $S = 0;

    if ($delta == 0) {
        $H = 0;
        $S = 0;
    } else {
        if ($L < 0.5) {
            $S = $delta / ($maxValue + $minValue);
        } else {
            $S = $delta / (2 - $maxValue - $minValue);
        }

        $deltaR = ((($maxValue - $R) / 6) + ($delta / 2)) / $delta;
        $deltaG = ((($maxValue - $G) / 6) + ($delta / 2)) / $delta;
        $deltaB = ((($maxValue - $B) / 6) + ($delta / 2)) / $delta;

        if ($R == $maxValue) {
            $H = $deltaB - $deltaG;
        } else if ($G == $maxValue) {
            $H = (1 / 3) + $deltaR - $deltaB;
        } else if ($B == $maxValue) {
            $H = (2 / 3) + $deltaG - $deltaR;
        }

        if ($H < 0) {
            $H++;
        }
        if ($H > 1) {
            $H--;
        }
    }
    return [(int)($H * 360), (int)($S * 100), (int)($L * 100)];
}

Conclusion

Le convertisseur RVB en HSL est un outil facile à utiliser et efficace pour convertir les codes couleur RVB en codes couleur HSL. Avec sa conception gratuite, en ligne et sécurisée, tout le monde peut utiliser cet outil pour convertir rapidement et facilement des couleurs. Que vous soyez un designer, un développeur ou simplement quelqu'un qui a besoin de convertir des couleurs, le convertisseur RVB en HSL est l'outil parfait pour le travail.

Foire aux questions (FAQ)

Découvrez nos autres outils