Convertitore HSL in HWB
Descriva un colore come una tonalità con un po’ di bianco e di nero: hsl(210, 80%, 45%) diventa bianchezza 9% e nerezza 19% sulla stessa tonalità, cioè hwb(210 9% 19%). Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- H
- 210
- S
- 80
- L
- 45
- W
- 9
- B
- 19
- Css
- hwb(210 9% 19%)
HSL descrive un colore tramite la tonalità sulla ruota, la saturazione come quanto è vivace la miscela e la luminosità come quanto è vicino al nero o al bianco. HWB usa quella stessa tonalità e indica quanto bianco e quanto nero si mescolano alla tinta pura. Chi già sceglie i colori in HSL ha spesso bisogno di HWB per scrivere le funzioni hwb() del CSS Color Module, parlare con strumenti di illustrazione che espongono cursori di bianchezza e nerezza, o documentare un campione come tinta più ombra. Questo convertitore accetta la tonalità in gradi da zero a trecentosessanta e la saturazione e la luminosità come percentuali da zero a cento, poi restituisce il triplo HWB corrispondente con una stringa CSS hwb().
Come HSL si proietta su tinta, bianchezza e nerezza
La tonalità è condivisa da HSL e HWB: zero gradi è rosso puro, centoventi è verde puro, duecentoquaranta è blu puro e trecentosessanta chiude il cerchio di nuovo sul rosso. HSL memorizza poi la saturazione come quanto un grigio della luminosità scelta viene allungato verso il colore pienamente cromatico a quella tinta, e la luminosità come la miscela tra nero a zero per cento, un tono medio vicino al cinquanta per cento e bianco al cento per cento.
HWB nomina lo stesso colore come una tinta pura mescolata con una quantità di bianco e una quantità di nero. Sull'intervallo unitario la mappatura è in forma chiusa e non richiede un passaggio per RGB intero: il croma vale uno meno il valore assoluto di due volte la luminosità meno uno, il tutto moltiplicato per la saturazione; la bianchezza è la luminosità meno metà del croma; la nerezza è uno meno la luminosità meno metà del croma.
È la stessa cosa che prendere il canale RGB minimo come bianco e uno meno il canale RGB massimo come nero, che è come il CSS Color Module Level Four definisce HWB. Quando la saturazione è zero il croma scompare, così bianchezza e nerezza diventano percentuali complementari che sommano a cento e descrivono un grigio, un nero o un bianco.
Quando la luminosità è cinquanta per cento e la saturazione è cento per cento, il croma vale uno e sia il bianco sia il nero collassano a zero, cioè la tinta pura. La tonalità deve stare nell'intervallo chiuso da zero a trecentosessanta; saturazione e luminosità devono ciascuna stare tra zero e cento per cento inclusi.
Cosa invia e cosa riceve in risposta
Invii tre numeri finiti nei campi h, s e l. Il campo h è la tonalità in gradi ed è obbligatorio; deve stare tra zero e trecentosessanta inclusi perché HSL e HWB condividono quell'angolo e questo convertitore non inventerà un avvolgimento. I campi s e l sono saturazione e luminosità come percentuali da zero a cento.
Quando la saturazione esce da zero a cento, la risposta spiega che s deve essere una percentuale in quella banda chiusa così un client può limitare o correggere il token prima di riprovare; la stessa regola vale per la luminosità.
In caso di successo la risposta restituisce i valori h, s e l puliti, riporta la bianchezza w e la nerezza b come percentuali, annida l'oggetto hsl di origine e l'oggetto hwb risultante, emette una stringa CSS stampabile della forma hwb(H W% B%) e include una breve nota di formula che riformula le identità di croma.
Controlli classici includono il blu-ciano di tono medio con tinta duecentodieci, saturazione ottanta e luminosità quarantacinque, che si proietta su nove per cento di bianco e diciannove per cento di nero; il rosso puro con tinta zero, saturazione cento e luminosità cinquanta, che si proietta su zero di bianco e zero di nero; e qualsiasi tinta con saturazione zero, che collassa in una miscela acromatica la cui bianchezza più nerezza vale cento.
Dove la conversione da HSL a HWB compare nel lavoro reale
I design system spesso redigono rampe di marca in HSL così i team di prodotto possono scalare la luminosità per un contrasto accessibile mantenendo stabili la tinta e una banda di saturazione; tuttavia i fogli di stile moderni, le app di illustrazione e diversi selettori nativi espongono ormai HWB perché mescolare una tinta pura con bianco e nero corrisponde a come i pittori parlano di tinte e ombre.
Gli ingegneri front-end che migrano un token da proprietà personalizzate hsl() a hwb() hanno bisogno di un oracolo deterministico che non dipenda dalla serializzazione dello stile calcolato di un browser particolare. Strumenti di visualizzazione dati e di arte generativa che costruiscono palette categoriche avanzando la tinta a saturazione e luminosità fisse devono ancora scaricare HWB quando un renderer o una pipeline di stampa chiede bianchezza e nerezza invece di un terzo asse di luminosità.
Curricula e lezioni di bootcamp insegnano i modelli cilindrici fianco a fianco e servono un'unica chiave affidabile per i compiti che combaci con le identità del CSS Color Module, non con uno screenshot di un selettore di colore. Se in seguito Le servono HSL verso RGB, HSL verso HSV, conversione multi-formato HEX LAB CMYK o controlli di contrasto WCAG, le tratti come intenzioni di ricerca e landing separate invece di sovraccaricare questa pagina dedicata al convertitore da HSL a HWB.
Casi d'uso
Token di design da HSL a CSS hwb()
Converta rampe di marca HSL in tripli di tinta, bianchezza e nerezza per fogli di stile moderni, selettori di illustrazione e tabelle di documentazione che parlano HWB.
Documentazione di tinte e ombre
Esprima un campione HSL come una tinta pura mescolata con bianco e nero così le revisioni di design parlano di tinte e ombre senza un secondo modello di colore.
Domande frequenti
Quali intervalli accettano tonalità, saturazione e luminosità?
La tonalità h deve essere tra 0 e 360 gradi inclusi. Saturazione s e luminosità l sono percentuali da 0 a 100.
La tonalità cambia tra HSL e HWB?
No. La tonalità è condivisa da entrambi i modelli e viene copiata senza modifiche. Solo bianchezza e nerezza sono calcolate da saturazione e luminosità.
Come si calcolano bianchezza e nerezza?
Sull'intervallo unitario, il croma C vale (1 − |2L − 1|) · S. La bianchezza è L − C/2 e la nerezza è 1 − L − C/2. I risultati tornano come percentuali da 0 a 100.
Che aspetto ha una stringa CSS hwb()?
Il campo css è una stringa del Color Module come hwb(210 9% 19%). La tinta è l'angolo condiviso; le due percentuali sono bianchezza e nerezza.
Quanto costa il convertitore da HSL a HWB?
Lo strumento del browser è gratuito e gira in locale.
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/hsl-hwb \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"h":210,"s":80,"l":45}'const res = await fetch("https://api.kit.forhosting.com/color/hsl-hwb", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"h": 210,
"s": 80,
"l": 45
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/hsl-hwb",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"h": 210,
"s": 80,
"l": 45
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/hsl-hwb", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"h":210,"s":80,"l":45}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"h":210,"s":80,"l":45}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/hsl-hwb", 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
{
"h": 210,
"s": 80,
"l": 45
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.hsl_hwb",
"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
Saturazione e luminosità fuori dagli intervalli legali falliscono con un errore invalid_input chiaro, così i token errati non vengono mai ritagliati in silenzio.
Come HSL si proietta su tinta, bianchezza e nerezza
La pipeline è aritmetica a virgola mobile pura, senza semi casuali, senza timestamp di orologio e senza chiamate di rete, così ingressi HSL identici producono sempre lo stesso JSON. Valori fuori da tali bande falliscono con invalid_input invece di un avvolgimento silenzioso o di un ritaglio senza preavviso.
Cosa invia e cosa riceve in risposta
Campi mancanti, stringhe vuote, token non numerici, NaN e Infinity falliscono con invalid_input nominando il campo e non vengono addebitati. Il prezzo delle chiamate API riuscite è la base pubblicata di $0.002 per elemento; i fallimenti di validazione non consumano il saldo prepagato.
Dove la conversione da HSL a HWB compare nel lavoro reale
I flussi di accessibilità che regolano la luminosità percepita in HSL e poi passano a un editor basato su HWB hanno ancora bisogno di una mappatura esatta dei canali senza API solo browser. Poiché questa capacità è un motore di parse puro, il prezzo API è la base pubblicata di $0.002 per elemento riuscito e la validazione fallita non consuma saldo.
Casi di integrazione
Fixture massive di token e curricula
Programmi la conversione deterministica da HSL a HWB per fixture di regressione, chiavi dei compiti ed esportazioni di palette con una sola API a $0.002 per elemento.