Hex in grigio per luminosita HSL
Trasformi un colore hex in grigio alla maniera HSL: in #e74c3c il canale più alto è 231 e il più basso 60, quindi la luminosità è (231 + 60) / 2 = 145,5 e il grigio risultante è #929292. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Colore
- #e74c3c
- Valore
- 146
- Hex di input
- #e74c3c
- RGB di input
- 231, 76, 60
- Resistenza (Ω)
- 231
Un convertitore da hex a scala di grigi per luminosità (lightness) proietta un colore hex opaco su un unico grigio neutro secondo la definizione classica di lightness HSL: la media del canale massimo e del minimo tra rosso, verde e blu. Incolli #e74c3c, #3498db o la forma breve a tre cifre come #f0a; lo strumento espande l'hex, legge ogni canale come intero da zero a duecentocinquantacinque, calcola L uguale a max più min diviso due, arrotonda al byte di grigio più vicino e restituisce il triplo hex grigio, il valore numerico, una stringa CSS rgb(), i canali max e min e l'aritmetica passo per passo.
Perché la lightness HSL differisce dal grigio per luminosità
Esiste più di un modo standard per collassare un colore in grigio, e scegliere la formula sbagliata cambia in silenzio contrasto, mockup di stampa e temi monocromatici. La lightness HSL tratta i canali più chiaro e più scuro come le uniche entrate rilevanti: L è la media del canale massimo e del canale minimo tra rosso, verde e blu.
Il rosso puro #ff0000, il verde puro #00ff00 e il blu puro #0000ff condividono max duecentocinquantacinque e min zero, quindi tutti e tre si mappano sullo stesso grigio medio sotto lightness sebbene appaiano molto diversi all'occhio. La ponderazione per luminosità, al contrario, moltiplica i canali per coefficienti BT.601 fissi che enfatizzano il verde e riducono il blu, così il verde puro diventa un grigio più chiaro del blu puro. Nessun metodo è sbagliato; rispondono a intenzioni di ricerca distinte.
Chi digita hex in grigio per lightness, desaturare HSL in grigio o convertitore media max min in grigio chiede la definizione HSL, non la formula di luma televisiva. Questa pagina implementa solo il percorso lightness, documenta la formula in ogni risposta di successo e lascia la conversione per luminosità al convertitore gemello da colore a grigi con coefficienti pesati.
Esercizi di aula e colloqui di codice spesso specificano la lightness esplicitamente come max più min diviso due; un riferimento deterministico elimina l'ambiguità su se i canali siano stati prima normalizzati tra zero e uno, come si arrotondano i semi-interi e se l'hex a tre cifre sia stato espanso prima di prendere max e min.
Consigli pratici, limiti e ricerche correlate
Quando scrive test unitari, copra almeno un rosso vivido, un teal dominato dal verde, un blu puro che debba coincidere con il rosso puro sotto lightness, un input già grigio che debba tornare se stesso, una scorciatoia a tre cifre e un hex non valido deliberato affinché le regressioni di validazione non passino inosservate. Ricordi che la lightness tratta i primari puri come ugualmente luminosi: se il prodotto richiede luminosità percepita ponderata sul verde, usi il convertitore di grigio per luminosità invece di questa pagina.
Non invii forme con alfa come #RRGGBBAA — questa pagina converte solo hex opaco e rifiuta lunghezze inattese. I colori CSS con nome e le stringhe rgb() vanno prima risolti in hex e poi passati qui, cosicché la superficie di validazione resti una sola stringa di colore ben specificata.
Questa pagina si rivolge a chi cerca hex in grigio per lightness, convertitore di grigio per lightness HSL, media max min in grigio da hex, o desaturare hex per lightness gratis online; non è un desaturatore di immagini completo, né un convertitore multi-spazio per LAB o CMYK, né un generatore di palette.
Preferisca questa capacità quando ha già un token hex e le serve solo il suo hex grigio per lightness HSL e il valore intero; se la pipeline deve ancora emettere componenti HSL, tonalità o saturazione, usi un convertitore hex a HSL per quei campi e questo strumento per il passo monocromatico.
Casi d'uso
Token monocromatici sull'asse HSL
I designer incollano codici hex di marca e ricevono valori hex grigi per lightness HSL per temi monocromatici che devono seguire il comportamento CSS di desaturazione verso la lightness, non i pesi di luminosità.
Confrontare grigi per lightness e per luminosità
Converta lo stesso hex con questo strumento e con un convertitore per luminosità per documentare come divergono i primari puri, poi scelga il metodo documentato dal design system.
Domande frequenti
Quale formula usa hex in grigio per lightness?
Lightness HSL su canali a 8 bit: L = (max(R,G,B) + min(R,G,B)) / 2, arrotondato all'intero più vicino da 0 a 255. L'hex grigio ripete quel byte tre volte come #YY.
In cosa differisce dal grigio per luminosità?
La lightness media solo i canali più chiaro e più scuro. La luminosità pondera R, G e B (classicamente 0.299, 0.587, 0.114). Rosso, verde e blu puri condividono lo stesso grigio per lightness ma non lo stesso grigio per luminosità.
Quali formati di colore sono accettati?
Hex #RGB o #RRGGBB con # iniziale opzionale, senza distinzione di maiuscole. Hex con alfa, colori CSS con nome e stringhe rgb() non sono accettati in questa pagina.
Hex in grigio per lightness è gratis?
Lo strumento nel browser è gratuito e gira in locale.
Che grigio dà #e74c3c con la luminosità HSL?
Dà #929292. I suoi canali sono 231, 76 e 60; si fa la media tra il più alto e il più basso, (231 + 60) / 2 = 145,5, arrotondata al valore di grigio 146.
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/grayscale-lightness \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"color":"#e74c3c"}'const res = await fetch("https://api.kit.forhosting.com/color/grayscale-lightness", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"color": "#e74c3c"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/grayscale-lightness",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"color": "#e74c3c"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/grayscale-lightness", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"color":"#e74c3c"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"color":"#e74c3c"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/grayscale-lightness", 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"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.grayscale_lightness",
"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
Le stringhe di colore non valide — input vuoto, lunghezza hex errata, caratteri non esadecimali, prefisso di programmazione 0x o campo assente — falliscono con un errore invalid_input chiaro invece di inventare un campione. Il percorso è analisi e aritmetica puramente deterministiche — senza rete, senza semi casuali, senza dipendenza dall'orologio — così l'esecutore gratuito del browser e l'API prepagata restituiscono lo stesso JSON a ogni chiamata.
Come chiamare l'API e cosa viene restituito
Gli spazi circostanti vengono rimossi, le lettere hex possono essere maiuscole o minuscole e il cancelletto iniziale è opzionale. Sono accettati solo corpi esadecimali a tre o sei cifre; le forme a otto cifre con alfa, i colori CSS con nome come rebeccapurple, le stringhe di funzione rgb() e i campi numerici di canale separati esulano da questo contratto incentrato sulla stringa e verranno rifiutati affinché Lei lo noti invece di eliminare silenziosamente l'alfa o inventare un parsing. Invii un corpo JSON con una stringa color obbligatoria. Il campo color accetta gli alias hex, value, text, input e code; esempi validi includono #e74c3c, e74c3c, #abc e ABC. In caso di successo la risposta restituisce input_hex e input_rgb della sorgente risolta, l'intero gray e gli alias gray_value e value, gray_hex e hex come codice neutro a sei cifre, gray_rgb come array a tre elementi, css come rgb(g, g, g), max_channel e min_channel, lightness come media pre-arrotondamento con precisione di visualizzazione fissa, formula che riafferma L uguale a max più min diviso due, method uguale a hsl_lightness, message come breve riepilogo in inglese e steps come array ordinato di righe di sostituzione per didattica o debug. La validazione fallita — color assente, stringa vuota, lunghezza hex errata, caratteri non hex o prefisso di programmazione 0x — restituisce invalid_input e non viene mai addebitata. Il prezzo è un fisso $0.002 per richiesta riuscita con unità item. Preferisca inviare il token esatto esportato dallo strumento di design, incluso il cancelletto se lo ha; la risposta normalizza sempre la sorgente in un input_hex a sei cifre in minuscolo affinché i diff a valle restino stabili tra formati di appunti.
Consigli pratici, limiti e ricerche correlate
Le attività fallite che restituiscono invalid_input non consumano saldo prepagato, il che mantiene economici script esplorativi e validazione di moduli mentre si incollano valori imperfetti dagli appunti. Fissi il grigio arrotondato e gray_hex nei test automatici affinché un futuro cambio di politica di arrotondamento non passi in silenzio, e documenti che method è hsl_lightness quando archivia risultati accanto a grigi basati su luminosità di altri sistemi.
Casi di integrazione
Test unitari di desaturazione per lightness
Generi valori di grigio di riferimento da fixture hex affinché i motori di tema affermino la matematica stabile (max+min)/2 e rilevino regressioni nel passaggio da formule di luminosità.
Domande tecniche
Cosa succede con una stringa di colore non valida?
L'API restituisce invalid_input con un messaggio che descrive il problema (input vuoto, lunghezza hex errata, caratteri non hex, prefisso 0x, ecc.). La validazione fallita non viene addebitata.