Protanomalie an Farbe simulieren
Protanomalie ist eine häufige Form anomaler Trichromasie, bei der die langwelligen (L-)Zapfen der Netzhaut eine verringerte Empfindlichkeit für rotes Licht aufweisen.
Im Browser ausführen – kostenlos
Läuft direkt in Ihrem Browser – kostenlos. Ihre Datei verlässt Ihren Browser nicht und wird an keinen Server übertragen.
Designer, Accessibility-Prüfer und Lehrende brauchen oft eine schnelle, deterministische Vorschau, wie eine Markenfarbe, eine Diagrammserie oder ein UI-Zustand wirken kann, wenn die Rotunterscheidung geschwächt ist — nicht volle Protanopie, sondern eine partielle Mischung aus Normalvision und Protan-Projektion. Dieses Werkzeug zur Simulation von Protanomalie an einer Farbe akzeptiert eine Hex- oder RGB-Farbe sowie optional eine Stärke von null bis eins, wandelt die Farbe in den LMS-Zapfenraum um, wendet teilweise eine Protan-Transformation im Viénot-Stil an, die den L-Kanal aus M und S rekonstruiert, wandelt zurück nach RGB und liefert das simulierte Hex, die Kanäle und die CSS-Zeichenkette. Stärke null lässt die Farbe unverändert; Stärke eins nähert volle Protanopie an; der Standardwert null Komma sechs modelliert eine typische moderate Protanomalie. Derselbe reine Algorithmus treibt das kostenlose Browser-Widget und den API-Pfad an, sodass Design-Tokens und automatisierte Kontrastprüfungen beim gefilterten Muster nie voneinander abweichen.
So verwenden Sie das Werkzeug
Geben Sie Ihre Werte in das Formular oben ein. Das Werkzeug prüft sie vor der Berechnung und zeigt das Ergebnis auf derselben Seite.
Eingaben prüfen
Beachten Sie die Beschriftungen und Einheiten der Felder. Fehlt etwas oder liegt ein Wert außerhalb des erlaubten Bereichs, zeigt die Seite das zu korrigierende Feld.
Erneut berechnen oder automatisieren
Nutzen Sie das Web-Werkzeug für einzelne Prüfungen und die API, wenn Sie dieselbe Funktion automatisieren möchten.
Anwendungsfälle
Sofort ein Ergebnis erhalten
Geben Sie einen Satz Werte ein und sehen Sie das Ergebnis ohne Tabellenkalkulation oder Skript.
Szenarien vergleichen
Ändern Sie jeweils einen Wert und berechnen Sie erneut, um den Einfluss auf das Ergebnis zu sehen.
Wiederholte Aufgaben automatisieren
Nutzen Sie die API, wenn dieselbe Berechnung in Ihrem Produkt oder Ablauf laufen soll.
Häufige Fragen
Was ist Protanomalie und wie wird sie hier simuliert?
Protanomalie ist verringerte L-Zapfen-Empfindlichkeit (Rot). Dieses Werkzeug mappt RGB nach LMS, rekonstruiert L aus M und S wie bei einer Protan-Projektion, mischt mit dem originalen LMS nach Stärke und wandelt zurück nach RGB.
Was bewirkt der Parameter severity?
Severity ist ein Mischgewicht in [0, 1]. 0 liefert die Originalfarbe; 1 wendet volle Protanopie-Projektion an; der Standard 0.6 modelliert typische moderate Protanomalie. Aliase: amount, strength, severity.
Welche Farbformate werden akzeptiert?
Hex (#RGB oder #RRGGBB), CSS rgb()/rgba(), reiner r,g,b-Text oder getrennte Ganzzahlen r, g, b 0–255. Fehlende oder ungültige Farbe scheitert mit invalid_input.
Ist das ein medizinischer oder diagnostischer Test?
Nein. Es ist eine Engineering-Näherung für Design- und Lehrvorschauen, keine klinische Beurteilung der Farbwahrnehmung.
Was kostet der Protanomalie-Farbsimulator?
Das Browser-Tool ist kostenlos. API-Anfragen nutzen vorbezahltes KIT-Guthaben zu $0.002 pro erfolgreichem Aufruf; ungültige Eingabe wird nicht berechnet.
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/sim-protanomaly \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"color":"#e74c3c","hex":"valor-ejemplo"}'const res = await fetch("https://api.kit.forhosting.com/color/sim-protanomaly", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"color": "#e74c3c",
"hex": "valor-ejemplo"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/sim-protanomaly",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"color": "#e74c3c",
"hex": "valor-ejemplo"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/sim-protanomaly", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"color":"#e74c3c","hex":"valor-ejemplo"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"color":"#e74c3c","hex":"valor-ejemplo"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/sim-protanomaly", 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": "#e74c3c",
"hex": "valor-ejemplo"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.sim_protanomaly",
"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. |