Convertitore da RGB a LAB
Porti un colore RGB nello spazio Lab, dove la luminosità va da 0 per il nero a circa 100 per il bianco e due assi descrivono la tinta. È lo spazio delle distanze delta-E e degli obiettivi di stampa. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Resistenza (Ω)
- 255
- G
- 128
- B
- 0
- L
- 67,0548169961
- A
- 42,8260095268
- Lab b
- 74,0176483168
- L*
- 67,0548169961
Questo convertitore da RGB a LAB prende tre intensità di canale sRGB — rosso, verde e blu — ciascuna come intero da zero a duecentocinquantacinque, e restituisce coordinate CIE L*a*b* calcolate con il punto bianco standard D65 usato nei flussi di lavoro colore per web e stampa. Designer, ingegneri di accessibilità e studenti usano questa mappatura quando una palette vive in canali a otto bit ma il compito richiede uno spazio percettivamente uniforme per distanze delta-E, ragionamento sul contrasto o obiettivi Lab orientati alla stampa. Il motore è completamente deterministico: decomprime ogni canale, moltiplica per la matrice D65 da sRGB a XYZ, normalizza rispetto al bianco di riferimento D65, poi applica il pivot CIE Lab e le identità in forma chiusa di L*, a* e b* — senza mai chiamare la rete, campionare casualità o dipendere dall'orologio.
Cosa significa la conversione da RGB a Lab e cosa contiene la risposta
Nel modello sRGB a otto bit usato da CSS e dalla maggior parte della grafica web, ciascuno dei canali rosso, verde e blu è un intero da zero a duecentocinquantacinque. CIE L*a*b* riorganizza lo stesso stimolo in un asse di luminosità L* (circa zero per il nero fino a circa cento per il bianco diffuso) e due assi cromatici: a* va dal verde negativo al rosso positivo, e b* va dal blu negativo al giallo positivo.
La conversione prima scala ogni canale dividendo per duecentocinquantacinque, poi annulla la gamma sRGB (la curva di decompressione inversa IEC 61966) così i valori diventano luce lineare. Quei canali lineari passano attraverso una matrice fissa tre per tre in CIE XYZ sotto l'illuminante D65; ogni componente tristimolo viene diviso per il bianco di riferimento D65, poi si applica la funzione di pivot CIE f — radice cubica sopra una piccola soglia, ramo lineare sotto — per formare L*, a* e b*.
Non esiste un percorso che accetti percentuali o canali in virgola mobile come input, e nessun limite silenzioso di duecentocinquantasei giù a duecentocinquantacinque.
Dove si colloca la conversione da RGB a Lab nel design, nello studio e nel software
I designer incontrano questa mappatura quando una guida di marca elenca campioni RGB e un flusso di produzione o stampa richiede obiettivi Lab, quando due colori devono essere confrontati con una semplice distanza euclidea in uno spazio grossolanamente uniforme, o quando un sistema di design documenta fianco a fianco valori di riferimento RGB da schermo e Lab.
Gli ingegneri di accessibilità usano L* e gli assi cromatici quando ragionano sulla luminosità percepita separatamente dalla tonalità, quando verificano che due stati dell'interfaccia siano abbastanza distanti per utenti con visione ridotta, o quando preparano note che poi alimenteranno controlli formali delta-E.
Gli studenti la vedono nei corsi di computer graphics e scienza del colore che introducono XYZ e Lab dopo sRGB, nelle lezioni di fotografia digitale che passano tra cursori dei canali e regolazioni Lab, e negli esercizi di riscaldamento per colloqui che chiedono una conversione mentale di una breve terna. Lo abbini a strumenti di colore multiformato quando ha bisogno di hex o CMYK, e ad altri convertitori deterministici gratuiti quando sta costruendo un piccolo laboratorio per l'igiene dei sistemi di design.
Casi d'uso
Distanza percettiva del colore e token
Trasformi terne RGB di marca in CIE L*a*b* per controlli in stile delta-E, design token e riferimenti Lab orientati alla stampa.
Compiti e demo didattiche
Verifichi il lavoro degli studenti da sRGB a Lab e faccia demo dal vivo di XYZ e Lab D65 senza app calcolatrici opache.
Domande frequenti
Quale intervallo è ammesso per r, g e b?
Ogni canale deve essere un intero da 0 a 255 incluso.
Perché 256 viene rifiutato invece di limitato?
Il limitare in silenzio nasconde errori nei dati.
Quali valori Lab dà l’arancione 255, 128, 0?
L* 67.0548169961, a* 42.8260095268 e b* 74.0176483168, con il punto di bianco D65. L’a* positivo tende al rosso e il b* positivo e alto al giallo.
Che cosa indicano a* e b*?
Sono i due assi del colore. a* va dal verde, quando è negativo, al rosso, quando è positivo, e b* dal blu al giallo allo stesso modo; L* è l’asse separato della luminosità.
Quale punto di bianco viene usato?
D65, il riferimento di luce diurna abituale nel lavoro sul colore per web e stampa. Ogni risultato è calcolato rispetto a quel bianco, quindi lo confronti con valori Lab che usano anch’essi D65.
Perché usare Lab invece di RGB per confrontare due colori?
Lab è all’incirca uniforme per la percezione, quindi una semplice distanza in linea retta tra due colori dice di più su quanto appaiono diversi. Su questa idea si basano i controlli delta-E.
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/rgb-lab \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"r":255,"g":128,"b":0}'const res = await fetch("https://api.kit.forhosting.com/color/rgb-lab", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"r": 255,
"g": 128,
"b": 0
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/rgb-lab",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"r": 255,
"g": 128,
"b": 0
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/rgb-lab", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"r":255,"g":128,"b":0}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"r":255,"g":128,"b":0}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/rgb-lab", 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
{
"r": 255,
"g": 128,
"b": 0
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.rgb_lab",
"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.
Limiti
min_channel | 0 |
max_channel | 255 |
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
I canali fuori dall'intervallo zero-duecentocinquantacinque vengono rifiutati con un chiaro errore invalid_input invece di essere limitati in silenzio.
Cosa significa la conversione da RGB a Lab e cosa contiene la risposta
Questo calcolatore restituisce gli interi validati r, g e b, L e a arrotondati per L* e a*, lab_b e b_star per b* così la coordinata blu-giallo di Lab non entra mai in collisione con il campo del canale blu di RGB, gli intermedi X Y Z, una stringa funzione rgb, una stringa riassuntiva lab, white_point impostato a D65, un'etichetta di metodo rgb_to_lab, e un breve promemoria della formula. Il motore costruisce una terna Lab esatta per tre canali legali, oppure rifiuta la richiesta con invalid_input. I casi rifiutati includono un campo r, g o b mancante, stringhe vuote dopo il trimming, numeri non interi, testo non numerico, Infinity o NaN, e qualsiasi canale strettamente sotto zero o sopra duecentocinquantacinque. Se ha bisogno di Lab-to-RGB, impacchettamento hex, HSV, HSL o CMYK, usi uno strumento dedicato inverso o multiformato; questa pagina risponde solo alla conversione di canali sRGB interi in una terna CIE Lab stabile, adatta a token, test unitari e consumatori dell'API.
Come vengono letti r, g e b, e come Lab resta riproducibile
Gli spazi esterni sui canali stringa vengono eliminati; un segno più iniziale opzionale è ammesso solo quando i caratteri restanti sono cifre decimali che si interpretano come un intero nell'intervallo. Un numero JavaScript nudo è accettato solo quando è un intero finito compreso tra zero e duecentocinquantacinque; valori come centoventotto virgola cinque falliscono la validazione invece di essere arrotondati, e valori negativi o pari o superiori a duecentocinquantasei falliscono con un messaggio che nomina il canale e afferma che deve restare tra zero e duecentocinquantacinque. Il rosso puro si mappa a una L* moderata con grandi a* e b* positivi; il bianco puro si mappa a L* vicino a cento con a* e b* vicini a zero; il nero puro si mappa a zero su tutti e tre gli assi Lab. I campi preferiti sono r per il rosso, g per il verde e b per il blu, ma sono accettati anche gli alias red e R maiuscola per il rosso, green e G maiuscola per il verde, e blue e B maiuscola per il blu, così fogli di calcolo, query string e moduli tipizzati possono riusare lo stesso contratto senza rinominare colonne. Abbini l'esecuzione gratuita nel browser di questa pagina con l'API a pagamento quando ha bisogno dello stesso risultato matematico all'interno di una pipeline automatizzata, senza reimplementare da sé la gamma inversa e la normalizzazione D65.
Dove si colloca la conversione da RGB a Lab nel design, nello studio e nel software
In questa pagina il lavoro avviene interamente nel Suo browser; tramite l'API ogni ricerca riuscita costa $0.002, la validazione fallita non viene addebitata e nulla viene conservato dopo la restituzione della risposta. Questa separazione — esplorazione interattiva gratuita e API identica a pagamento — corrisponde al resto del catalogo tier A di KIT e Le permette di passare da una demo in aula o una revisione di design a una pipeline automatizzata senza cambiare il risultato matematico.
Casi di integrazione
Fixture di test deterministiche
Generi risultati Lab riproducibili per test unitari, controlli di proprietà e verifiche CI su strumenti per il colore.
Domande tecniche
Quanto costa il convertitore da RGB a LAB?
È gratis nel browser in questa pagina. Tramite l'API una richiesta riuscita costa $0.002; gli input non validi non vengono addebitati.
Quale punto bianco viene usato?
Illuminante D65 con bianco di riferimento Xn=0,95047, Yn=1,0, Zn=1,08883, coerente con lo sRGB standard e la pratica del colore sul web. La risposta include white_point: "D65".
Perché Lab b* si chiama lab_b o b_star?
Il campo di input b è il canale blu RGB. Lab b* viene restituito come lab_b e b_star (e dentro la stringa lab) così non sovrascrive mai il canale blu validato.