Regoli il contrasto di un colore per fattore
Allontani i canali di un colore dal grigio medio 128 per renderlo più incisivo, o li avvicini per ammorbidirlo: #3366cc con un fattore di 1.5 diventa #0d59f2. Un fattore di 1 non cambia nulla. Gratis nel Suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Colore
- #3366cc
- Fattore
- 1,5
- Grigio medio
- 128
- Hex
- #0d59f2
- Resistenza (Ω)
- 13
- G
- 89
Il contrasto intorno al grigio medio è il gesto classico di imaging che allunga o comprime ogni canale rosso, verde e blu allontanandolo dal punto medio a otto bit centoventotto, invece di scorrere la luminosità HSL o elevare una potenza gamma. Designer, autori di token e ingegneri grafici usano un fattore di contrasto quando vogliono campioni più decisi o più piatti senza girare la ruota della tinta né trattare il colore come una fotografia intera. Questo strumento accetta un colore hex CSS e un fattore finito nell'intervallo chiuso da zero a dieci, applica la regola per canale secondo cui l'uscita è il grigio medio più la distanza con segno da quel grigio moltiplicata per il fattore, limita ogni canale all'intervallo legale da zero a duecentocinquantacinque e restituisce l'hex regolato e gli interi RGB. Un fattore pari a uno lascia il campione invariato; un fattore pari a zero fa collassare tutti i canali sul grigio medio; valori sopra uno aumentano il contrasto e possono tagliare luci o ombre.
Che cosa fa il contrasto intorno al grigio medio sui canali RGB
Parta da un colore hex CSS come cancelletto tre tre sei sei c c o dalla forma breve cancelletto tre sei c. L'analizzatore espande i codici a tre cifre, porta le cifre in minuscolo e converte ogni coppia in interi rosso, verde e blu da zero a duecentocinquantacinque. Il grigio medio su quella scala a otto bit è centoventotto: il perno intero usato dai classici cursori di contrasto nei programmi di pittura e nelle pipeline raster.
Ogni canale viene riscritto con aritmetica ordinaria: sottragga il grigio medio, moltiplichi per il fattore di contrasto, riaggiunga il grigio medio, poi arrotondi all'intero più vicino e limiti alla scatola legale da zero a duecentocinquantacinque. I canali già al grigio medio restano fermi per ogni fattore finito, perché la distanza con segno è zero. I canali più scuri del grigio medio se ne allontanano quando il fattore è maggiore di uno e se ne avvicinano quando il fattore è tra zero e uno.
I canali più chiari del grigio medio fanno lo stesso in direzione opposta. Un fattore esattamente pari a uno è identità: ogni canale arrotondato coincide con l'ingresso. Un fattore pari a zero appiattisce il campione sul grigio medio sui tre canali, cioè il codice hex otto zero otto zero otto zero.
I fattori grandi tagliano: un rosso scuro può arrivare a zero e un blu chiaro a duecentocinquantacinque, e quegli estremi restano sui muri legali invece di avvolgersi. Lo stesso fattore si applica in modo indipendente a rosso, verde e blu, così l'equilibrio relativo dei canali può cambiare rispetto a una storia di contrasto HSL che congela la tinta. Quella differenza è intenzionale: questo contratto è lo stiramento lineare intorno al grigio medio, non un cursore percettivo né un rapporto WCAG tra due colori.
Le forme hex con alfa a quattro o otto cifre sono rifiutate perché il contratto è solo RGB opaco.
Contratto di ingresso, forma della risposta e convalida
Invii due campi: color come stringa hex e factor come numero finito da zero a dieci inclusi. Ogni campione include role, hex, gli interi r g b e una stringa rgb stampabile. I campi di primo livello hex, r, g e b rispecchiano il risultato regolato per contrasto per i client a una riga.
Una breve stringa formula documenta la regola del grigio medio per canale per documentazione e supporto. Controlli tipici: applicare il fattore uno punto cinque a un blu medio, applicare il fattore zero punto cinque per appiattire un rosso saturo verso il grigio, confermare che il fattore uno restituisce l'hex originale, confermare che il fattore zero produce il grigio medio e rifiutare il fattore quindici o un colore assente.
Colleghi il modulo gratuito del browser per anteprime rapide, poi chiami lo stesso contratto dagli script quando serve generazione massiva di token o controlli di integrazione continua. Tenga il fattore nell'intervallo documentato invece di affidarsi a limiti silenziosi del moltiplicatore stesso: questo strumento fallisce in modo esplicito su un fattore non valido, così sistemi di design e pipeline di rendering restano prevedibili in tutti gli ambienti.
Dove un fattore di contrasto sul grigio medio vale la pena
I team di brand e prodotto tengono spesso un solo hex protagonista e hanno bisogno di un compagno più deciso o più discreto senza aprire un editor di immagini completo né inventare a occhio un secondo colore di marca. Gli autori di token di design generano rampe di contrasto facendo scorrere un fattore su un campione base quando schiarire o scurire in HSL sembra troppo pastello e la gamma troppo legata al display.
Gli strumenti di presentazione e marketing producono varianti di campagna da un logo saturo: alzi il fattore per un manifesto, lo abbassi per una tessere di sfondo smorzata. Gli autori di materiali didattici sull'imaging possono mostrare che stirare l'RGB intorno al grigio medio non è cambiare la luminosità HSL, né una curva di potenza gamma, né misurare il contrasto WCAG tra due colori.
Se in seguito occorre confrontare due codici hex per l'accessibilità, applicare un esponente gamma, schiarire o scurire in HSL oppure filtrare un'intera fotografia, li tratti come intenzioni di ricerca e landing separate invece di sovraccaricare questa pagina del fattore sul grigio medio.
Casi d'uso
Rendere più deciso un hex di brand senza nuova tinta
Alzi un singolo colore di logo intorno al grigio medio e catturi l'hex risultante per manifesti, stati hover e revisioni di design.
Rampe di token smorzate da un solo campione
Scorra il fattore sotto uno per appiattire i mezzitoni verso il grigio mantenendo le stesse proporzioni RGB, invece di far scorrere la luminosità HSL.
Domande frequenti
In che modo il fattore di contrasto modifica il Suo colore hex?
Ogni canale RGB c diventa clamp(round(128 + (c − 128) × factor), 0, 255). Il grigio medio resta fisso; i canali più scuri e più chiari si allontanano da 128 quando il fattore è sopra 1 e si avvicinano a 128 quando è sotto 1.
Quale intervallo di fattore è consentito?
Il fattore deve essere un numero finito in [0, 10].
Quali formati hex sono accettati?
Hex CSS a tre e sei cifre, con o senza cancelletto iniziale. Forme alpha (#rgba / #rrggbbaa) e caratteri non hex vengono rifiutati.
Quanto costa regolare il contrasto di un colore?
Lo strumento browser è gratuito e gira in locale.
Che cosa fanno i fattori 0 e 1?
Un fattore di 1 lascia il colore esattamente com’è. Un fattore di 0 porta tutti i canali al grigio medio, quindi qualsiasi colore diventa #808080. Sopra 1 il contrasto aumenta; tra 0 e 1 si attenua.
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/contrast-adjust \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"color":"#3366cc","factor":1.5}'const res = await fetch("https://api.kit.forhosting.com/color/contrast-adjust", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"color": "#3366cc",
"factor": 1.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/contrast-adjust",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"color": "#3366cc",
"factor": 1.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/contrast-adjust", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"color":"#3366cc","factor":1.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"color":"#3366cc","factor":1.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/contrast-adjust", 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": "#3366cc",
"factor": 1.5
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.contrast_adjust",
"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
Stringhe hex non valide e fattori fuori intervallo falliscono con un invalid_input chiaro, non con un avvolgimento silenzioso.
Contratto di ingresso, forma della risposta e convalida
Color accetta anche gli alias hex e base; factor accetta contrast e amount. Campi assenti, caratteri non hex, lunghezze errate, NaN, Infinity, fattori negativi e valori sopra dieci falliscono con invalid_input e non vengono addebitati. In caso di successo la risposta ecoa il colore a sei cifre normalizzato e il fattore numerico, riporta mid_gray come centoventotto e fornisce i campioni original e result. Il prezzo delle chiamate API riuscite è la base pubblicata di $0.002 per elemento; i fallimenti di convalida non consumano il saldo prepagato.
Dove un fattore di contrasto sul grigio medio vale la pena
Poiché questa capacità è un motore parse puro, il prezzo API è la base pubblicata di $0.002 per elemento riuscito e la convalida fallita non consuma il saldo.
Casi di integrazione
Controlli golden CI sul contrasto del tema
Verifichi che i token di produzione coincidano ancora con lo stiramento atteso intorno al grigio medio dopo modifiche alla palette, senza aprire un editor di immagini.
Domande tecniche
Cosa succede con factor = 1 e factor = 0?
Il fattore 1 è identità: nessun canale cambia, quindi l'hex risultante coincide con l'hex di ingresso normalizzato. Il fattore 0 fa collassare tutti i canali sul grigio medio 128, cioè #808080.