Wahrgenommene Helligkeit
Der Rechner für wahrgenommene Helligkeit fasst die Werte der roten, grünen und blauen Kanäle zu einem praktischen Luminanzwert zusammen.
Im Browser ausführen – kostenlos
Er verwendet die bekannte gewichtete RGB-Formel, bei der Grün den größten Einfluss hat, gefolgt von Rot und Blau. Das Ergebnis wird anhand eines dokumentierten Grenzwerts als hell oder dunkel eingestuft und mit einer Empfehlung für schwarzen oder weißen Text versehen. Verwenden Sie den Rechner, wenn ein Theme, ein Badge, ein Diagramm oder ein benutzerdefinierter Hintergrund sofort eine nachvollziehbare Vordergrundfarbe benötigt.
Warum die wahrgenommene Helligkeit RGB-Kanäle gewichtet
Ein einfacher Mittelwert behandelt Rot, Grün und Blau so, als würde das menschliche Auge auf alle drei Kanäle gleich reagieren. Das trifft nicht zu. Grün trägt erheblich stärker zur wahrgenommenen Helligkeit bei, Rot hat einen mittleren und Blau einen geringeren Anteil. Deshalb nutzt dieser Rechner die klassischen Luminanzgewichte nach dem Muster BT.601: 0.299 für Rot, 0.587 für Grün und 0.114 für Blau. Jeder Kanal muss eine ganze Zahl zwischen 0 und 255 sein. Aus der gewichteten Summe entsteht ein Wert auf derselben ungefähren Skala von 0 bis 255, auf der Schwarz null und Weiß 255 entspricht. Das Ergebnis wird auf drei Dezimalstellen gerundet und bleibt dadurch gut lesbar, ohne nützliche Genauigkeit zu verlieren. Die Berechnung ist deterministisch: Gleiche RGB-Eingaben liefern stets dieselbe Ausgabe, ohne Farbprofilabfrage, Netzwerkzugriff, Zufall oder gerätespezifische Anpassung. Sie eignet sich für schnelle UI-Entscheidungen, ersetzt jedoch keine vollständige Farbmanagement- oder Barrierefreiheitsanalyse.
Wie die Einstufung in hell oder dunkel die Textfarbe bestimmt
Nach der Berechnung vergleicht die Fähigkeit den Helligkeitswert mit dem Grenzwert 128. Ein Wert ab 128 wird als hell eingestuft, ein niedrigerer Wert als dunkel. Für einen hellen Hintergrund empfiehlt die Antwort schwarzen Text, für einen dunklen Hintergrund weißen Text. Die Ausgabe enthält die ursprünglichen Kanäle, den genauen Wert, die Einstufung, die empfohlene Textfarbe, den Grenzwert und die Formel. So kann Ihre Anwendung die Entscheidung speichern und prüfen, statt sich auf einen undokumentierten booleschen Wert zu verlassen. Die Grenze ist eindeutig: Ein Wert von genau 128 gehört zur hellen Klasse. Dadurch verhalten sich verschiedene Clients am Übergang identisch. Die Empfehlung ist eine praktische binäre Wahl für Beschriftungen, Chips, generierte Avatare und Theme-Vorschauen. Sie garantiert nicht, dass jede Schriftgröße oder Gestaltung eine bestimmte Norm erfüllt; verwenden Sie für einen formalen Nachweis einen Kontrastverhältnis-Prüfer.
Kanäle validieren und das Ergebnis sicher verwenden
Übermitteln Sie die RGB-Komponenten in den Feldern r, g und b. Alle drei Felder sind erforderlich, müssen numerisch und ganzzahlig sein und im einschließlich geltenden Bereich von 0 bis 255 liegen. Werte wie -1, 256, ein Bruchwert, eine numerische Zeichenfolge, NaN oder ein fehlendes Feld werden als ungültige Eingabe abgelehnt und nicht unbemerkt begrenzt. Diese strenge Prüfung verhindert, dass vorgelagerte Konvertierungsfehler verborgen bleiben und ein gespeichertes Design von seiner Vorschau abweicht. Nutzen Sie nach einer gültigen Antwort classification, wenn nur zwischen hell und dunkel verzweigt werden soll. Verwenden Sie recommended_text_color direkt, wenn Ihre Oberfläche eine hexadezimale Vordergrundfarbe annimmt. Mit perceived_brightness können Sie Farbfelder sortieren oder die Berechnung anzeigen. Die API kostet $0.002 pro Anfrage; im Browser lässt sich dieselbe deterministische Berechnung lokal ausführen. Speichern Sie bei großen Paletten das einmal berechnete Ergebnis zusammen mit den RGB-Quellwerten.
Anwendungsfälle
Text für erzeugte Badges auswählen
Wählen Sie schwarzen oder weißen Text, wenn Badge-Hintergründe aus Benutzerdaten oder generierten Paletten stammen.
Farbfelder eines Themes einstufen
Kennzeichnen Sie gespeicherte Farben als hell oder dunkel, damit der Theme-Editor sofort einen passenden Vordergrund anzeigt.
Automatische Vordergrundentscheidungen prüfen
Speichern Sie Wert, Grenzwert und Formel mit der Designentscheidung, damit sie später reproduzierbar bleibt.
Häufige Fragen
Welche Formel verwendet der Rechner?
Er verwendet 0.299 × Rot + 0.587 × Grün + 0.114 × Blau; jeder Kanal liegt dabei einschließlich zwischen 0 und 255.
Wann gilt eine Farbe als hell?
Ein wahrgenommener Helligkeitswert ab 128 gilt als hell. Jeder niedrigere Wert gilt als dunkel.
Garantiert das Ergebnis die Einhaltung der WCAG-Kontrastregeln?
Nein. Es bietet eine schnelle binäre Wahl anhand der wahrgenommenen Helligkeit. Nutzen Sie für eine formale WCAG-Bewertung einen Kontrastprüfer.
Was geschieht mit einem Kanal außerhalb des gültigen Bereichs?
Die Anfrage schlägt mit einem Fehler für ungültige Eingaben fehl. Werte werden niemals unbemerkt in den Bereich verschoben.
Was kostet eine Berechnung über die API?
Jede API-Anfrage kostet $0.002. Die Browserversion kann dieselbe deterministische Berechnung lokal ausführen.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/color/luminance-perceived \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"r":52,"g":152,"b":219}'const res = await fetch("https://api.kit.forhosting.com/color/luminance-perceived", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"r": 52,
"g": 152,
"b": 219
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/luminance-perceived",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"r": 52,
"g": 152,
"b": 219
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/luminance-perceived", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"r":52,"g":152,"b":219}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"r":52,"g":152,"b":219}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/luminance-perceived", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"r": 52,
"g": 152,
"b": 219
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.luminance_perceived",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |