Abstand zur Komplementärfarbe
Der Abstand zwischen Farbe und Komplementärfarbe macht aus einer bekannten Beziehung des Farbkreises einen reproduzierbaren Messwert.
Im Browser ausführen – kostenlos
Geben Sie eine Hex- oder RGB-Farbe ein. Der Rechner bestimmt die exakte, um 180 Grad versetzte HSL-Komplementärfarbe, wandelt beide sRGB-Werte in CIELAB D65 um und gibt ihren Delta-E-76-Abstand aus. Eine normierte Harmoniestärke erleichtert Sortierung und Vergleich. Ursprungsfarbe, Komplementärfarbe, RGB-Kanäle, Hexcodes und Lab-Koordinaten legen jeden Schritt offen. Die strenge Eingabeprüfung weist unvollständige oder unzulässige Werte zurück, anstatt sie unbemerkt zu verändern.
Geben Sie eine Farbe ein und bestimmen Sie ihr Komplement eindeutig
Übermitteln Sie eine Farbe als drei- oder sechsstelligen Hexcode, als Ausdruck rgb(r, g, b) oder als drei durch Kommas getrennte RGB-Kanäle. Ein führendes Rautezeichen sowie Groß- oder Kleinschreibung der Hexziffern ändern das Ergebnis nicht. RGB-Kanäle müssen ganze Zahlen von 0 bis 255 sein. Fehlerhafte Syntax, Prozentangaben, Dezimalzahlen, fehlende Kanäle und Werte außerhalb des darstellbaren sRGB-Bereichs werden daher als ungültige Eingabe abgewiesen. Nach dem Einlesen wandelt der Rechner die ursprünglichen RGB-Kanäle in HSL um und dreht den Farbton um exakt 180 Grad, während Sättigung und Helligkeit unverändert bleiben. Diese Definition entspricht dem klassischen Gegenpunkt auf dem HSL-Farbkreis und legt die Operation offen, statt sich auf ein unausgesprochenes ästhetisches Urteil zu stützen. Vor der Messung wird der gedrehte HSL-Wert wieder in ganzzahlige sRGB-Kanäle umgerechnet. Dies entspricht den Farben, die gewöhnliche Bildschirme und CSS-Abläufe tatsächlich darstellen können. Unbunte Eingaben bilden einen wichtigen Sonderfall: Grau hat keine Sättigung, daher erzeugt die Drehung seines nominellen Farbtons keine sichtbar andere Farbe. Die Komplementärfarbe bleibt dasselbe Grau und der gemessene Abstand ist null. Identische Eingaben liefern stets identische Ausgaben, weil weder Netzwerk, Zufall, Uhr, Profilabfrage noch verborgener Zustand beteiligt sind.
So lesen Sie Lab-Abstand und Harmoniestärke
Die Antwort zeigt normalisierte Ursprungs- und Komplementärfarbe als sechsstellige Hexwerte in Großbuchstaben, ganzzahlige RGB-Kanäle und CIELAB-Koordinaten. Bei der Umrechnung werden zuerst die Standard-sRGB-Kanäle linearisiert, über die übliche sRGB-Matrix in CIE XYZ überführt, auf das von sRGB verwendete D65-Referenzweiß bezogen und anschließend mit der CIELAB-Übertragungsfunktion verarbeitet. delta_e_76 ist der euklidische Abstand zwischen den beiden Lab-Tripeln: Null bedeutet, dass die dargestellten Farben übereinstimmen; größere Werte stehen in diesem Modell für eine stärkere wahrgenommene Trennung. Delta E 76 wird bewusst eingesetzt, da dieser Endpunkt genau ein deterministisches Paar ohne verborgene branchenspezifische Toleranzgewichtung misst. harmony_strength bildet den Abstand auf eine praktische Skala von 0 bis 100 ab, indem Delta E durch zwei geteilt und das Ergebnis auf 100 begrenzt wird. Der Wert dient dem Vergleich und ist kein allgemeingültiges Schönheitsgesetz. Die Klassen erleichtern grobes Sortieren: unter 15 gilt als schwach, 15 bis unter 35 als mäßig, 35 bis unter 65 als stark und 65 oder mehr als sehr stark. Gesättigte Komplemente erreichen häufig hohe Werte, gedämpfte und neutrale Farben niedrigere. Bewahren Sie delta_e_76 als zugrunde liegenden Messwert auf und verwenden Sie Punktzahl oder Klasse für Übersichten, Filter und einfache Gestaltungsregeln.
Setzen Sie die Kennzahl in Designsystemen sachgerecht ein
Der Rechner hilft, wenn ein Palettengenerator, Theme-Builder, Diagrammsystem oder eine Marken-Token-Pipeline mehr als nur den Hexcode der Komplementärfarbe benötigt. Ihr Team kann Komplemente nach einer stabilen Konvention ableiten, Ausgangsfarben nach der erzeugten wahrgenommenen Trennung ordnen und die Lab-Koordinaten zusammen mit generierten Tokens für Prüfzwecke speichern. Der API-Preis beträgt $0.002 pro erfolgreich verarbeitetem Element; die Browserausführung eignet sich für schnelle interaktive Kontrollen. Validierungsfehler verhindern, dass fehlerhafte Farbangaben zu scheinbar plausiblen Palettendaten werden. Verwechseln Sie Harmoniestärke nicht mit barrierefreiem Kontrast: Delta E schätzt den Farbunterschied, lesbarer Text erfordert dagegen eine Leuchtdichte-Kontrastberechnung unter Berücksichtigung von Schriftgröße und Kontext. Auch eine sehr hohe Punktzahl garantiert nicht, dass ein Paar zu einer Marke, Kultur, einem Oberflächenzustand oder Druckverfahren passt. Hier gilt sRGB für Bildschirme; Druckfarben, Sonderfarben, Wide-Gamut-Werte und gemessene Proben benötigen vorher ein ausdrücklich verwaltetes Farbprofil. Nutzen Sie das Ergebnis als ein Signal neben Kontrast, Hierarchie, Sättigungsbalance und menschlicher Prüfung. Speichern Sie für Reproduzierbarkeit das Feld method. Es kennzeichnet den vollständigen Ablauf aus HSL-Drehung, CIELAB D65 und Delta E 76, damit die Punktzahl nicht mit CIE94, CIEDE2000 oder einer anderen Komplementregel verwechselt wird.
Anwendungsfälle
Erzeugte Akzentfarben sortieren
Messen Sie jede Markenfarbe gegen ihr abgeleitetes Komplement und bevorzugen Sie Paare mit dem gewünschten wahrgenommenen Abstand.
Token-Erzeugung nachvollziehen
Speichern Sie normalisierte Hex-, RGB- und Lab-Werte, Methode und Abstand, damit ein Komplementär-Token später reproduziert und geprüft werden kann.
Farbbeziehungen vermitteln
Zeigen Sie, warum sich gesättigte Farben und neutrale Grautöne bei derselben gemessenen Farbtondrehung um 180 Grad unterschiedlich verhalten.
Häufige Fragen
Wie wird die Komplementärfarbe berechnet?
Die Ausgangsfarbe wird von sRGB nach HSL umgerechnet, der Farbton um 180 Grad gedreht, Sättigung und Helligkeit bleiben gleich, danach folgt die Rückrechnung in ganzzahliges sRGB.
Was bedeutet Delta E 76?
Es ist der direkte Abstand zwischen Ausgangs- und Komplementärfarbe in CIELAB. Null bedeutet keinen Lab-Abstand; größere Werte zeigen eine stärkere modellierte Wahrnehmungstrennung.
Wie entsteht die Harmoniestärke?
Der Rechner teilt Delta E 76 durch zwei und begrenzt das Ergebnis auf 100. Diese konsistente Vergleichskennzahl ist keine objektive ästhetische Bewertung.
Garantiert ein hoher Wert barrierefreien Kontrast?
Nein. Wahrnehmungsabstand und Leuchtdichtekontrast beantworten unterschiedliche Fragen. Verwenden Sie für Text und barrierefreie Oberflächen einen WCAG-Kontrastrechner.
Was kostet eine Berechnung über die API?
Jedes erfolgreich verarbeitete API-Element kostet $0.002. Ungültige Eingaben werden klar zurückgewiesen und nicht unbemerkt in den erlaubten Bereich gezwungen.
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/complement-distance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"color":"#336699"}'const res = await fetch("https://api.kit.forhosting.com/color/complement-distance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"color": "#336699"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/complement-distance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"color": "#336699"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/complement-distance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"color":"#336699"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"color":"#336699"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/complement-distance", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"color": "#336699"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.complement_distance",
"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. |