RGB naar HSL

RGB Invoer
Voorbeeld
HSL Uitvoer

RGB naar HSL Converter: Converteer RGB kleurcodes naar HSL kleurcodes

Bent u op zoek naar een eenvoudige en efficiënte manier om RGB kleurcodes naar HSL kleurcodes te converteren? Zoek niet verder dan de RGB naar HSL Converter. Onze online tool is gratis, snel en veilig, en vereist geen systeem- of softwareafhankelijkheden.

Functies

  • Gratis en online tool
  • Geen systeem- of softwareafhankelijkheden
  • Duidelijke en Kopieer knop
  • Voorbeeld invoer
  • Gegevensbeveiliging via lokale berekening

Inleiding

RGB naar HSL Converter is een online tool waarmee gebruikers RGB kleurcodes kunnen converteren naar HSL kleurcodes. RGB (rood, groen, blauw) en HSL (tint, verzadiging, lichtheid) zijn twee verschillende manieren om kleuren weer te geven, en RGB naar HSL Converter maakt het eenvoudig om tussen beide te converteren.

Voordelen en voordelen

Het belangrijkste voordeel van het gebruik van RGB naar HSL Converter is dat het het proces van het converteren van RGB kleurcodes naar HSL kleurcodes vereenvoudigt. De tool is gratis en online, zodat gebruikers er vanaf elke locatie met een internetverbinding toegang toe hebben. Bovendien is de tool snel en veilig, waardoor het een betrouwbare keuze is voor iedereen die RGB kleurcodes naar HSL kleurcodes moet converteren.

Het kernalgoritme

Het kernalgoritme dat wordt gebruikt door RGB naar HSL Converter is eenvoudig en gemakkelijk te begrijpen. Het omvat een eenvoudige reeks berekeningen om RGB kleurcodes naar HSL kleurcodes te converteren. De formule voor het omzetten van RGB naar HSL is als volgt:

  • Om H te berekenen:
    • Vind de hoogste en laagste waarden tussen R, G en B.
    • H wordt vervolgens berekend met behulp van de volgende formule:
    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
  • Om S te berekenen:
    • Als max en min beide 0 zijn, is S 0.
    • Anders wordt S berekend als (max - min) / (1 - abs(max + min - 1))
  • Om L te berekenen:
    • L is eenvoudigweg het gemiddelde van max en min.

Hoe gebruik je de RGB naar HSL Converter

Het gebruik van de RGB naar HSL Converter is eenvoudig en rechttoe rechtaan. Hier is een stapsgewijze handleiding:

  1. Voer de RGB kleurcode in die je wilt converteren in de tool.
  2. Klik op de "Converteren" knop om de RGB kleurcode naar HSL te converteren.
  3. De HSL kleurcode zal op het scherm worden weergegeven.
  4. Kopieer de HSL kleurcode naar je klembord door op de "Kopiëren" knop te klikken.

Dat is het! Met slechts een paar klikken kun je elke RGB kleurcode converteren naar de bijbehorende HSL kleurcode.

Voorbeelden

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

Conclusie

De RGB naar HSL Converter is een eenvoudig te gebruiken en efficiënt hulpmiddel voor het converteren van RGB kleurcodes naar HSL kleurcodes. Met zijn gratis, online en veilige ontwerp kan iedereen de tool gebruiken om kleuren snel en gemakkelijk te converteren. Of je nu een ontwerper, ontwikkelaar bent of gewoon iemand die kleuren moet converteren, de RGB naar HSL Converter is de perfecte tool voor de klus.

Veelgestelde vragen (FAQ)

Maak kennis met onze andere hulpmiddelen