Farbe anhand des Farbtons als warm oder kalt bestimmen
Der Prüfer wandelt eine Hexadezimalfarbe in ihren Farbtonwinkel um und vergleicht ihn mit festen warmen und kalten Mittelpunkten.
Im Browser ausführen – kostenlos
Rot bei 0 Grad bildet das warme Zentrum, Cyan bei 180 Grad das kalte; der nähere Mittelpunkt entscheidet. Exakte Grenzfarben gelten durch eine feste Gleichstandsregel als kalt. Die Antwort nennt die normalisierte Farbe, den Farbton, die Kategorie und den Winkelabstand. Dadurch bleibt die Entscheidung in Designwerkzeugen, Tests und automatisierten Farbabläufen transparent und jederzeit reproduzierbar.
So entsteht die Einstufung
Der Prüfer verwendet eine geometrische Definition auf dem üblichen RGB-Farbkreis. Rot bei 0 Grad ist die Mitte der warmen Hälfte, Cyan bei 180 Grad die Mitte der kalten Hälfte. Nach der Umrechnung der Hexfarbe wird der kürzeste Winkelabstand zum warmen Zentrum gemessen. Unter 90 Grad lautet das Ergebnis warm, ab 90 Grad kalt. Die Trennlinien liegen folglich bei 90 und 270 Grad. Weil beide Positionen von den Zentren gleich weit entfernt sind, werden exakte Gleichstände der kalten Kategorie zugeordnet. Diese ausdrückliche Regel verhindert abweichende Entscheidungen an der Grenze. Farbton und verwendeter Abstand stehen im Ergebnis und machen die Einstufung überprüfbar. Sie ist eine praktische Konvention für digitale Farben; Beleuchtung, Nachbarfarben und kultureller Kontext können den wahrgenommenen Temperatureindruck dennoch verändern.
Farbe eingeben und Ergebnis lesen
Geben Sie eine hexadezimale RGB-Farbe mit drei Stellen wie #F60 oder sechs Stellen wie #FF6600 ein. Das führende Rautezeichen ist optional, Groß- und Kleinschreibung sind gleichwertig. Die Antwort erweitert die Kurzform und liefert im Feld color sechs Großbuchstaben beziehungsweise Ziffern. Hue_degrees enthält die berechnete Position von 0 bis unter 360 Grad; category nennt warm oder kalt. Distance_from_warm_center zeigt den kürzesten Abstand zu Rot, die beiden Mittelpunktfelder dokumentieren die Referenzwinkel. Werte nahe 90 Grad Abstand liegen an der Trennung und können kontextabhängig wirken, obwohl die Berechnung stabil bleibt. Schwarz, Weiß und exakte Grautöne werden abgelehnt: Ihre drei Kanäle sind gleich, weshalb kein Farbtonwinkel definiert ist und eine Einstufung erfunden wäre.
Deterministische Kennzeichnungen einsetzen
Eine feste Kennzeichnung hilft, wenn Paletten ohne wiederholte menschliche Beurteilung gefiltert, getestet oder weitergeleitet werden sollen. Ein Designsystem-Skript kann prüfen, ob eine warme Sammlung ausschließlich warme Ergebnisse enthält. Ein Katalog kann Farbmuster um einen durchsuchbaren Temperaturfilter ergänzen. Diagrammsoftware kann vor der Wahl unterstützender Farben eine gegensätzliche Familie bestimmen. Die Berechnung nutzt weder Netzwerk noch Zufall, gespeicherten Zustand oder aktuelle Zeit; gleiche Eingaben erzeugen stets gleiche Ausgaben. Bei Automatisierung über die API kostet jede Anfrage $0.002; im Browser läuft dieselbe reine Berechnung. Verstehen Sie die Kennzeichnung als messbare Eigenschaft, nicht als vollständige Farbtheorie. Sättigung und Helligkeit ändern den Winkel nicht, beeinflussen aber die Wahrnehmung. Prüfen Sie anspruchsvolle Gestaltungen anschließend zusammen mit Hintergrund und Nachbarfarben.
Anwendungsfälle
Digitale Palette ordnen
Teilen Sie chromatische Hexmuster vor der Endkontrolle stabil in warme und kalte Gruppen ein.
Design-Tokens testen
Prüfen Sie nach Änderungen, ob semantische Tokens in der vorgesehenen Farbtonhälfte bleiben.
Produktfarben kennzeichnen
Ergänzen Sie Katalogmuster um eine eindeutige Temperaturkategorie für Filter und Warenabläufe.
Häufige Fragen
Welche Winkel gelten als warm?
Warm sind Farbtöne mit weniger als 90 Grad kürzestem Abstand zu Rot: von 0 bis unter 90 sowie über 270 bis unter 360 Grad.
Was geschieht genau an der Grenze?
Bei genau 90 oder 270 Grad besteht Gleichstand. Die feste Regel ordnet beide Fälle der kalten Kategorie zu.
Warum werden Grau, Schwarz und Weiß abgelehnt?
Ihre RGB-Kanäle sind gleich, daher besitzen sie keinen definierten Farbtonwinkel. Eine Zuordnung widerspräche der Regel.
Ändern Sättigung oder Helligkeit die Kategorie?
Nein. Sie beeinflussen das Aussehen, diese Funktion wertet jedoch bewusst nur den Farbtonwinkel aus.
Welche Farbformate werden angenommen?
Zulässig sind drei- oder sechsstellige RGB-Hexwerte mit oder ohne Raute; Alphakanäle und Farbnamen sind ausgeschlossen.
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/warm-or-cool \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"color":"#E85D04"}'const res = await fetch("https://api.kit.forhosting.com/color/warm-or-cool", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"color": "#E85D04"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/warm-or-cool",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"color": "#E85D04"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/warm-or-cool", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"color":"#E85D04"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"color":"#E85D04"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/warm-or-cool", 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": "#E85D04"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.warm_or_cool",
"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. |