Protanomalie an Farbe simulieren
Sehen Sie eine Farbe so, wie Menschen mit verminderter Rotempfindlichkeit sie wahrnehmen: Leuchtendes Rot #e74c3c wird bei der Standardstärke 0.6 zu #416f3e. Regeln Sie von 0, unverändert, bis 1, nahe der Protanopie, bevor Sie Marken- oder Diagrammfarben festlegen. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
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.
Protanomalie ist eine häufige Form anomaler Trichromasie, bei der die langwelligen (L-)Zapfen der Netzhaut eine verringerte Empfindlichkeit für rotes Licht aufweisen. 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.
Was Protanomalie ist
Normales Farbsehen beruht auf drei Zapfentypen in der Netzhaut, die lange, mittlere und kurze Wellenlängen erfassen. Bei Protanomalie, einer häufigen Form der anomalen Trichromasie, ist der Zapfen für lange Wellenlängen weniger empfindlich. Rot wirkt dadurch dunkler oder weniger gesättigt, und Rot-Grün-Paare lassen sich schwerer unterscheiden als bei normalem Sehen. Anders als bei Protanopie funktionieren aber noch alle drei Zapfenklassen. Für Designer, Prüfer der Barrierefreiheit und Lehrende ist deshalb eine Vorschau hilfreich, die nicht gleich den vollen Ausfall zeigt, sondern eine einstellbare Abschwächung.
So wird simuliert und wo die Grenzen liegen
Die Farbe wird in den Zapfenraum übertragen. Dort wird ein Ersatz für den Rotkanal aus den beiden anderen Kanälen gebildet, wie es die klassischen Modelle nach Viénot, Brettel und Mollon beschreiben, und mit dem ursprünglichen Wert gemischt. Die Stärke bestimmt den Anteil: 0 lässt die Farbe unverändert, 1 nähert die volle Protanopie an, 0.6 entspricht einer typischen mittleren Ausprägung. Danach wird zurück nach RGB gerechnet. Das ist eine Vorschau für Paletten, Markenfarben und Unterricht, keine medizinische Diagnose. Ersetzen Sie damit nicht Tests mit Menschen, die tatsächlich eine Farbsehschwäche haben.
Was Protanomalie-Simulation bedeutet und wie die partielle Protan-Transformation funktioniert
Normale menschliche Farbwahrnehmung ist trichromatisch: drei Zapfentypen (L, M und S) tasten das Spektrum bei langen, mittleren und kurzen Wellenlängen ab. Bei Protanomalie ist das Photopigment des L-Zapfens verschoben oder weniger wirksam, sodass Rottöne dunkler oder weniger gesättigt wirken und Rot–Grün-Paare schwerer zu trennen sind als bei Normalvision, während dennoch drei Zapfenklassen arbeiten — im Gegensatz zur Protanopie, bei der der L-Kanal faktisch fehlt.
Ein praktisches Engineering-Modell braucht kein volles physiologisches Spektrum: Es mappt Display-RGB nach LMS, ersetzt die L-Koordinate durch eine Linearkombination aus M und S, die die protanopische Ebene annähert (klassisch L gleich zwei Komma null zwei drei vier vier mal M minus zwei Komma fünf zwei fünf acht eins mal S nach Matrizen im Stil von Viénot, Brettel und Mollon), und mappt LMS zurück nach RGB. Die volle dichromatische Simulation nutzt nur diesen Ersatz.
Protanomalie wird modelliert, indem originales LMS mit protanischem LMS über ein Stärkegewicht s im Einheitsintervall gemischt wird: L-Strich gleich (eins minus s) mal L plus s mal L-protan, während M und S vor der Rücktransformation auf dem Originalpfad bleiben. Diese partielle Anwendung ist deterministisch, günstig und gut genug für UI-Vorschauen, Palette-Audits und Lehrdemos. Sie ist kein klinisches Diagnosewerkzeug und ersetzt keine Tests mit Menschen mit Farbsehschwäche.
Anwendungsfälle
Audits von Designsystem und Marken-Tokens
Vorschau, wie Primär-, Danger- und Diagrammfarben unter moderater Protanomalie wandern, bevor Hex-Tokens in einer Komponentenbibliothek festgeschrieben werden.
Vermittlung von Farbsehschwäche
Studierenden einen deterministischen Seitenvergleich von Original- und protanomalie-simulierten Farbfeldern mit einstellbarer Stärke von mild bis voll protanisch zeigen.
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.
Welche Farbformate werden akzeptiert?
Hex (#RGB oder #RRGGBB), CSS rgb()/rgba(), reiner r,g,b-Text oder getrennte Ganzzahlen r, g, b 0–255.
Ist das ein medizinischer oder diagnostischer Test?
Nein. Es ist eine Engineering-Näherung für Design- und Lehrvorschauen, keine klinische Beurteilung der Farbwahrnehmung.
Worin unterscheidet sich Protanomalie von Protanopie?
Bei Protanomalie arbeiten die rotempfindlichen Zapfen noch, reagieren aber schwach: Rot wirkt dunkler oder matter, und Rot-Grün-Paare sind schwerer zu trennen. Bei Protanopie fehlt dieser Zapfentyp praktisch; die Stärke 1 kommt dem nahe.
Verwandte Tools
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. |
Technische Hinweise
Eingabevertrag, Antwortform und Fehlerverhalten
Geben Sie die Farbe als Hex-Zeichenkette wie #e74c3c oder #e74, als CSS rgb(r,g,b), als reinen r,g,b-Text oder als getrennte Ganzzahlfelder r, g und b von null bis zweihundertfünfundfünfzig an. Kanäle werden nach dem Clampen auf Ganzzahlen von null bis zweihundertfünfundfünfzig gerundet, damit Clients Farbfelder ohne weitere Skalierung zeichnen können. Beispiel: Ein kräftiges Rot nahe #e74c3c bei Standardstärke verschiebt sich zu einem matteren, weniger rot-dominierten Ton, der gegenüber voller Protanopie bei Stärke eins noch einen Unterschied im Langwellenbereich behält. Senden Sie per POST einen JSON-Körper mit einer Quellfarbe und optionaler Stärke. Aliase hex, value, text, input und code werden für die Stringform akzeptiert; red, green und blue aliasen die Kanalfelder. Die Stärke ist standardmäßig null Komma sechs, wenn sie weggelassen wird, und muss bei Angabe eine endliche Zahl zwischen null und eins einschließlich sein; Aliase amount, strength und severity werden akzeptiert. Fehlende Farbe, leere Zeichenketten, Nicht-Hex-Müll, Kanäle außerhalb von null bis zweihundertfünfundfünfzig, gebrochene Kanäle und Stärke außerhalb des Einheitsintervalls scheitern mit invalid_input und einer Meldung, die das Problem benennt. Diese Validierungsfehler werden nicht berechnet. Bei Erfolg enthält der Körper input_hex und input_rgb der aufgelösten Quelle, die genutzte numerische Stärke, simulated_hex und simulated_rgb der gefilterten Farbe, die Einzelkanäle simulated_r, simulated_g und simulated_b, eine css rgb()-Zeichenkette, method protanomaly_partial_lms, deficiency protanomaly, eine kurze Formelzeichenkette zur LMS-Mischung und eine lesbare Nachricht.
Wo ein Protanomalie-Farbsimulator seinen Nutzen entfaltet
Bildungsplattformen, die Farbsehschwäche vermitteln, können Original- und simulierte Farbfelder nebeneinander zeigen, ohne schwere Bildfilter einzubetten. Eine fehlgeschlagene Validierung wird nicht berechnet. Kombinieren Sie Ergebnisse mit Kontrastprüfungen an Original und Simulation für WCAG-orientierte Abläufe; dieser Endpunkt transformiert nur eine einzelne Farbprobe und bewertet weder Kontrastverhältnisse noch Bildregionen. Accessibility-Reviewer können Marken-Tokens und Diagrammserien über die API stapelweise filtern und Paare markieren, die unter reduzierter Rotempfindlichkeit vor dem Release kollabieren. Weil die Implementierung reines Parse-Tier-A ist, kostet jeder erfolgreiche Aufruf den veröffentlichten Grundpreis $0.002 ohne Modell-Tokens und ohne ausgehendes Netz.
Integrationsbeispiele
Accessibility-CI für Paletten
Paletten-JSON in Pipelines stapelweise filtern und Builds scheitern lassen, wenn kritische Zustände nach der partiellen Protan-Transformation zu ähnlich werden.
Technische Fragen
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.