Simulare protanomalia su un colore
Visualizzi un colore come lo vede chi ha una sensibilità ridotta al rosso: il rosso vivo #e74c3c diventa #416f3e con l’intensità predefinita di 0.6. Vada da 0, nessun cambiamento, a 1, vicino alla protanopia, prima di fissare i colori del marchio o dei grafici. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.
La protanomalia è una forma comune di tricromazia anomala in cui i coni a lunghezza d'onda lunga (L) della retina presentano sensibilità ridotta alla luce rossa. Designer, revisori di accessibilità e docenti spesso necessitano di un'anteprima rapida e deterministica di come un colore di marca, una serie di grafico o uno stato di interfaccia possa apparire quando la discriminazione del rosso si indebolisce — non protanopia completa, bensì una miscela parziale tra visione normale e proiezione protanica. Questo strumento per simulare la protanomalia su un colore accetta un colore hex o RGB più una severità opzionale da zero a uno, converte il colore nello spazio dei coni LMS, applica parzialmente una trasformata protanica in stile Viénot che ricostruisce il canale L da M e S, riconverte in RGB e restituisce l'hex simulato, i canali e la stringa CSS. Severità zero lascia il colore invariato; severità uno approssima la protanopia completa; il valore predefinito di zero virgola sei modella una protanomalia moderata tipica.
Cosa significa la simulazione di protanomalia e come funziona la trasformata protanica parziale
La visione dei colori umana normale è tricromatica: tre tipi di coni (L, M e S) campionano lo spettro alle lunghezze d'onda lunghe, medie e corte. Nella protanomalia il fotopigmento del cono L è spostato o meno efficace, così i rossi appaiono più scuri o meno saturi e le coppie rosso–verde sono più difficili da separare rispetto alla visione normale, pur funzionando ancora tre classi di coni — a differenza della protanopia, dove il canale L manca di fatto.
Un modello ingegneristico pratico non richiede uno spettro fisiologico completo: mappa l'RGB del display in LMS, sostituisce la coordinata L con una combinazione lineare di M e S che approssima il piano protanopico (classicamente L uguale a due virgola zero due tre quattro quattro volte M meno due virgola cinque due cinque otto uno volte S secondo matrici in stile Viénot, Brettel e Mollon), poi mappa LMS di nuovo in RGB. La simulazione dicromatica completa usa solo quella sostituzione.
La protanomalia si modella mescolando l'LMS originale con l'LMS protanico tramite un peso di severità s nell'intervallo unitario: L primo uguale a (uno meno s) per L più s per L protanico, mentre M e S restano sul percorso originale prima della trasformata inversa. Tale applicazione parziale è deterministica, economica e sufficiente per anteprime di interfaccia, audit di palette e demo didattiche. Non è uno strumento di diagnosi clinica e non sostituisce i test con persone con deficienza della visione dei colori.
Le matrici sono costanti fisse nel gestore, quindi lo stesso input produce sempre lo stesso hex simulato tra runtime.
Casi d'uso
Audit di design system e token di marca
Anteprima di come i colori primario, danger e di grafico cambiano sotto protanomalia moderata prima di fissare token hex in una libreria di componenti.
Insegnamento della deficienza della visione dei colori
Mostri agli studenti un confronto deterministico affiancato di campioni originali e simulati in protanomalia, con severità regolabile da lieve a protanica completa.
Domande frequenti
Cos'è la protanomalia e come viene simulata qui?
La protanomalia è sensibilità ridotta del cono L (rosso). Questo strumento mappa RGB in LMS, ricostruisce L da M e S come in una proiezione protanica, mischia con l'LMS originale secondo la severità e riconverte in RGB.
Cosa fa il parametro severity?
Severity è un peso di miscela in [0, 1]. 0 restituisce il colore originale; 1 applica la proiezione di protanopia completa; il predefinito 0.6 modella una protanomalia moderata tipica.
Quali formati di colore sono accettati?
Hex (#RGB o #RRGGBB), CSS rgb()/rgba(), testo r,g,b semplice, oppure interi r, g, b separati 0–255.
È un test medico o diagnostico?
No. È un'approssimazione ingegneristica per anteprime di design e didattica, non una valutazione clinica della visione dei colori.
In che cosa la protanomalia differisce dalla protanopia?
Nella protanomalia i coni sensibili al rosso funzionano ancora ma rispondono debolmente: i rossi sembrano più scuri o spenti e le coppie rosso e verde si distinguono a fatica. Nella protanopia quel tipo di cono di fatto manca; l’intensità 1 vi si avvicina.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"color": "#e74c3c",
"hex": "valor-ejemplo"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.sim_protanomaly",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Contratto di input, forma della risposta e comportamento di errore
Fornisca il colore come stringa hex come #e74c3c o #e74, come CSS rgb(r,g,b), come testo r,g,b semplice, oppure come campi interi separati r, g e b da zero a duecentocinquantacinque. Tali fallimenti di validazione non vengono fatturati. I canali sono arrotondati a interi da zero a duecentocinquantacinque dopo il clamp così i client possono dipingere campioni senza ulteriore scala. Esempio: un rosso vivido vicino a #e74c3c alla severità predefinita si sposta verso una tonalità più spenta e meno dominata dal rosso che conserva ancora una differenza a lunga lunghezza d'onda rispetto alla protanopia completa a severità uno. Invii con POST un corpo JSON con un colore sorgente e una severità opzionale. Gli alias hex, value, text, input e code sono accettati per la forma stringa; red, green e blue sono alias dei campi canale. La severità predefinita è zero virgola sei se omessa e deve essere un numero finito tra zero e uno inclusi quando presente; si accettano gli alias amount, strength e severity. Colore del tutto assente, stringhe vuote, rifiuti non hex, canali fuori da zero a duecentocinquantacinque, canali frazionari e severità fuori dall'intervallo unitario falliscono con invalid_input e un messaggio che nomina il problema. In caso di successo il corpo include input_hex e input_rgb della sorgente risolta, la severità numerica usata, simulated_hex e simulated_rgb del colore filtrato, i canali individuali simulated_r, simulated_g e simulated_b, una stringa css rgb(), method protanomaly_partial_lms, deficiency protanomaly, una breve stringa di formula che descrive la miscela LMS e un messaggio leggibile.
Dove un simulatore di colore protanomalia rende
Le piattaforme educative che insegnano la deficienza della visione dei colori possono mostrare campioni affiancati normali e simulati senza incorporare filtri immagine pesanti. La validazione fallita non consuma saldo. I revisori di accessibilità possono elaborare in batch token di marca e serie di grafici tramite l'API e segnalare coppie che collassano sotto sensibilità al rosso ridotta prima del rilascio. Poiché l'implementazione è parse puro di livello A, ogni chiamata riuscita costa il prezzo base pubblicato $0.002 senza token di modello né rete in uscita. Abbini i risultati a controlli di contrasto su originale e simulato quando serve un flusso orientato a WCAG; questo endpoint trasforma solo un campione di colore e non valuta rapporti di contrasto né regioni di immagine.
Casi di integrazione
CI di accessibilità per le palette
Filtri in batch il JSON di palette nei pipeline e faccia fallire le build quando stati critici diventano troppo simili dopo la trasformata protanica parziale.
Domande tecniche
Quanto costa il simulatore di colore protanomalia?
Lo strumento nel browser è gratuito. Le richieste API usano il saldo KIT prepagato a $0.002 per chiamata riuscita; l'input non valido non viene fatturato.