RGB zu HSL

RGB-Eingabe
Beispiel
HSL-Ausgabe

RGB zu HSL Konverter: Konvertiere RGB-Farbcodes in HSL-Farbcodes

Suchen Sie nach einem einfachen und effizienten Weg, um RGB-Farbcodes in HSL-Farbcodes umzuwandeln? Suchen Sie nicht weiter als den RGB zu HSL Konverter. Unser Online-Tool ist kostenlos, schnell und sicher und erfordert keine System- oder Softwareabhängigkeiten.

Funktionen

  • Kostenlos und online
  • Keine System- oder Softwareabhängigkeiten
  • Löschen und Kopieren Schaltfläche
  • Beispiel-Eingabe
  • Datensicherheit durch lokale Berechnung

Einführung

Der RGB zu HSL Konverter ist ein Online-Tool, das es Benutzern ermöglicht, RGB-Farbcodes in HSL-Farbcodes umzuwandeln. RGB (Rot, Grün, Blau) und HSL (Farbton, Sättigung, Helligkeit) sind zwei verschiedene Möglichkeiten, Farben darzustellen, und der RGB zu HSL Konverter erleichtert die Umwandlung zwischen ihnen.

Vorteile und Vorteile

Der Hauptvorteil der Verwendung des RGB zu HSL Konverters besteht darin, dass er den Prozess der Umwandlung von RGB-Farbcodes in HSL-Farbcodes vereinfacht. Das Tool ist kostenlos und online, sodass Benutzer es von überall mit einer Internetverbindung aus zugreifen können. Darüber hinaus ist das Tool schnell und sicher, was es zu einer zuverlässigen Wahl für alle macht, die RGB-Farbcodes in HSL-Farbcodes umwandeln müssen.

Der Kernalgorithmus

Der Kernalgorithmus, der vom RGB zu HSL Konverter verwendet wird, ist einfach und leicht verständlich. Es beinhaltet eine einfache Reihe von Berechnungen, um RGB-Farbcodes in HSL-Farbcodes umzuwandeln. Die Formel zur Umwandlung von RGB in HSL lautet wie folgt:

  • Um H zu berechnen:
    • Finden Sie die maximalen und minimalen Werte zwischen R, G und B.
    • H wird dann mit folgender Formel berechnet:
    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
  • Um S zu berechnen:
    • Wenn max und min beide 0 sind, ist S 0.
    • Andernfalls wird S berechnet als (max - min) / (1 - abs(max + min - 1))
  • Um L zu berechnen:
    • L ist einfach der Durchschnitt von max und min.

Wie man den RGB-zu-HSL-Konverter verwendet

Die Verwendung des RGB-zu-HSL-Konverters ist einfach und unkompliziert. Hier ist eine schrittweise Anleitung:

  1. Geben Sie den RGB-Farbcode ein oder fügen Sie ihn in das Tool ein, den Sie konvertieren möchten.
  2. Klicken Sie auf die Schaltfläche "Konvertieren", um den RGB-Farbcode in HSL umzuwandeln.
  3. Der HSL-Farbcode wird auf dem Bildschirm angezeigt.
  4. Kopieren Sie den HSL-Farbcode in die Zwischenablage, indem Sie auf die Schaltfläche "Kopieren" klicken.

Das ist alles! Mit nur wenigen Klicks können Sie jeden RGB-Farbcode in seinen entsprechenden HSL-Farbcode umwandeln.

Beispiele

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)];
}

Fazit

Der RGB-zu-HSL-Konverter ist ein benutzerfreundliches und effizientes Tool zur Umwandlung von RGB-Farbcodes in HSL-Farbcodes. Mit seinem kostenlosen, Online- und sicheren Design kann jeder das Tool verwenden, um Farben schnell und einfach umzuwandeln. Ob Sie ein Designer, Entwickler oder einfach nur jemand sind, der Farben konvertieren muss, der RGB-zu-HSL-Konverter ist das perfekte Werkzeug für den Job.

Häufig gestellte Fragen (FAQ)

Entdecken Sie weitere Tools