Analizzare stringa HSL in RGB
Legga come numeri un colore CSS incollato: hsl(210, 80%, 45%) diventa rosso 23, verde 115 e blu 207, cioè #1773cf, con virgole, spazi o unità come deg e turn. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Hsl
- hsl(210, 80%, 45%)
- H
- 210
- S
- 80
- L
- 45
- Resistenza (Ω)
- 23
Designer e ingegneri incollano letterali CSS hsl() e hsla() da fogli di stile, token di Figma e DevTools del browser, poi hanno bisogno di un triplo rosso-verde-blu stabile per canvas, app native e buffer di immagine. Questo analizzatore accetta una sola stringa di colore CSS, tollera spazi in più, unità di tonalità facoltative come deg, turn, rad e grad, e segni di percentuale facoltativi su saturazione e luminosità; quindi converte la tonalità, la saturazione e la luminosità analizzate lungo lo stesso percorso del CSS Color Module che i browser usano per dipingere hsl(). La tonalità si avvolge come CSS avvolge gli angoli; saturazione e luminosità fuori da zero a cento per cento vengono rifiutate affinché un errore di battitura non diventi bianco in silenzio.
Come una stringa CSS hsl() diventa un triplo RGB
Un colore CSS hsl() nomina un punto in coordinate cilindriche: la tonalità è l'angolo intorno alla ruota, la saturazione è quanto il colore dista dal grigio e la luminosità è quanto è vicino al nero o al bianco. Questa capacità analizza prima il token di funzione. Accetta la forma storica con virgole hsl(h, s, l) e la forma moderna separata da spazi hsl(h s l), con o senza la a di hsla, e con un alfa facoltativo dopo una quarta virgola o dopo una barra.
La tonalità può essere un numero nudo di gradi oppure portare un'unità esplicita: deg, turn, rad o grad. Saturazione e luminosità possono includere il segno di percentuale oppure ometterlo; entrambe si leggono come percentuali da zero a cento. Dopo che il token è compreso, la conversione segue il CSS Color Module e il percorso W3C hue2rgb: si scalano saturazione e luminosità sull'intervallo unitario, si calcolano i limiti intermedi p e q, si campionano tre posizioni spostate sul cerchio unitario, si moltiplica per duecentocinquantacinque e si arrotonda a interi.
Quando la saturazione è zero i tre canali collassano sullo stesso grigio. Il percorso è aritmetica pura, senza orologi e senza rete, così la stessa stringa produce sempre lo stesso triplo.
Contratto di ingresso, unità, spazi ed errori
Il valore deve essere una funzione CSS hsl() o hsla(), parentesi comprese; un triplo nudo di numeri viene rifiutato affinché il contratto resti un analizzatore di stringhe e non una seconda forma HSL numerica. Lo spazio extra dentro le parentesi viene ignorato. Saturazione e luminosità fuori da zero a cento per cento falliscono anch'esse invece di essere ritagliate, così un errore come cinquecento per cento non può diventare bianco in silenzio.
La tonalità si avvolge modulo trecentosessanta dopo la conversione dell'unità, come CSS, così quattrocentottanta gradi e centoventi gradi dipingono lo stesso verde. In caso di successo il corpo restituisce la stringa di ingresso ritagliata, gli h, s e l numerici analizzati (tonalità in gradi dopo l'avvolgimento, saturazione e luminosità come percentuali), canali interi r, g e b, un array triplo rgb, una stringa rgb() stampabile, un codice hex in minuscolo e una breve nota di formula.
Quando la stringa di origine includeva un componente alfa, la risposta include anche a nell'intervallo unitario e una stringa rgba(); se l'alfa è assente quelle chiavi vengono omesse invece di essere impostate a null. Esempio: hsl(210, 80%, 45%) produce gli stessi canali blu profondi che un convertitore HSL numerico restituirebbe per tonalità duecentodieci, saturazione ottanta e luminosità quarantacinque.
Dove analizzare una stringa hsl() merita il suo posto
Le pipeline di token di design memorizzano rampe di marca come funzioni CSS così restano leggibili accanto ai fogli di stile, poi emettono canali interi per UIColor di iOS, Android Color e hex delle e-mail. Gli strumenti di regressione visiva confrontano pixel renderizzati; un'analisi deterministica della stessa stringa hsl() usata nel CSS è l'unico modo per conoscere il triplo a otto bit atteso senza aprire un browser.
I generatori di documentazione stampano una tabella di campioni dai token di un deposito e non devono inventare un verde diverso da quello che il sito spedisce. I materiali didattici che mostrano le funzioni di colore CSS accanto a RGB e hex hanno bisogno di un oracolo che segnali la sintassi malformata invece di recuperare un segno di percentuale assente indovinando.
Se Lei ha già tre numeri anziché una stringa CSS, usi un convertitore HSL in RGB numerico; questa pagina possiede l'intenzione di ricerca di analizzare una stringa hsl() in un triplo RGB.
Casi d'uso
Dai token del foglio di stile all'RGB di canvas e nativo
Incolli letterali hsl() da un file di tema o dalle DevTools e ottenga r, g, b interi più hex per riempimenti canvas, UIColor e Android Color.
Pipeline di token di design e documentazione
Percorra i token di funzione CSS in un deposito di design system ed emetta una tabella stabile di tripli RGB che combacia con la pittura hsl() del browser.
Domande frequenti
Quali forme CSS hsl() accetta l'analizzatore?
La forma con virgole hsl(h, s, l) e la forma moderna con spazi hsl(h s l), più hsla() e alfa facoltativo (quarta virgola o barra). Gli spazi extra vengono ignorati. La tonalità può usare deg, turn, rad o grad.
Come viene convertito hsl() in un triplo RGB?
Dopo l'analisi della stringa, la conversione segue il percorso hue2rgb del CSS Color Module sul cerchio unitario. I canali vengono arrotondati a interi 0–255. La stessa stringa produce sempre gli stessi r, g e b.
Che succede se la stringa hsl() è malformata?
Nomi di funzione sbagliati, parentesi assenti, numero sbagliato di componenti, sintassi mista di virgole e barra, e token non numerici vengono rifiutati e non addebitati.
Le unità di tonalità si avvolgono e saturazione e luminosità vengono ritagliate?
La tonalità si avvolge modulo 360 dopo la conversione dell'unità, come CSS. Saturazione e luminosità devono stare tra 0 e 100 per cento; i valori fuori intervallo falliscono invece di essere ritagliati al bianco o al nero.
Posso incollare un colore così com’è da un foglio di stile o dai DevTools?
Sì. Incolli tutto il testo hsl() o hsla(), parentesi comprese, per esempio hsl(210, 80%, 45%). Gli spazi in più vengono ignorati, ma tre numeri sciolti senza hsl() vengono rifiutati.
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-string-to-rgb \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"hsl":"hsl(210, 80%, 45%)"}'const res = await fetch("https://api.kit.forhosting.com/color/hsl-string-to-rgb", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"hsl": "hsl(210, 80%, 45%)"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/hsl-string-to-rgb",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"hsl": "hsl(210, 80%, 45%)"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/hsl-string-to-rgb", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"hsl":"hsl(210, 80%, 45%)"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"hsl":"hsl(210, 80%, 45%)"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/hsl-string-to-rgb", 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
{
"hsl": "hsl(210, 80%, 45%)"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.hsl_string_to_rgb",
"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
Una sintassi malformata — parentesi assenti, nome di funzione sbagliato, troppi pochi componenti o token non numerici — fallisce con invalid_input invece di indovinare un colore vicino.
Come una stringa CSS hsl() diventa un triplo RGB
Gli autori scrivono quel punto come un token di funzione, non come tre campi di modulo separati, così un convertitore che accetta solo h, s e l numerici lascia un vuoto ogni volta che la fonte di verità è un foglio di stile, un JSON di token di design o una copia delle DevTools.
Contratto di ingresso, unità, spazi ed errori
Invii in POST un corpo JSON con un solo campo stringa obbligatorio chiamato hsl. Gli alias text, value, color e input sono accettati e significano la stessa cosa. Un hsl assente, una stringa vuota, una stringa più lunga di duecentocinquantasei caratteri, un nome di funzione diverso da hsl o hsla, parentesi sbilanciate, il numero sbagliato di componenti, sintassi mista di virgole e barra, e token che non sono numeri finiti falliscono con invalid_input e non vengono addebitati.
Dove analizzare una stringa hsl() merita il suo posto
Poiché questa capacità è un motore di parse puro, lo strumento del browser è gratuito e una chiamata API riuscita costa il $0.002 pubblicato per elemento; i fallimenti di validazione non consumano il saldo prepagato.
Casi di integrazione
Fixture di regressione visiva
Trasformi le stesse stringhe hsl() che il Suo CSS spedisce in fixture RGB a 8 bit così i test di cattura confrontano il colore che il browser dipingerà davvero.
Domande tecniche
Quanto costa analizzare una stringa hsl() in RGB?
Lo strumento del browser è gratuito. Le richieste API usano il saldo prepagato KIT a $0.002 per chiamata riuscita; un ingresso non valido non viene addebitato.