Estrarre un canale colore
Ottenga un solo numero da un colore invece di una conversione completa: il rosso di #3498db è 52 e la trasparenza di #3498db80 è 128, entrambi sulla stessa scala da 0 a 255. Gratis nel Suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Colore
- #3498db
- Canale
- Red
- Valore
- 52
- Red
- 52
- Verde
- 152
- Blu
- 219
I sistemi di design, i riempimenti di canvas, gli uniform di uno shader e i controlli di contrasto per l'accessibilità spesso hanno bisogno di un solo numero da un colore, non di una tabella di conversione completa. Lei ha già un token hex come #3498db o uno a otto cifre #3498db80, oppure una stringa CSS rgb() o rgba(), e le serve il canale rosso, verde, blu o alfa come intero sulla scala 0–255. Questa capacità estrae il canale nominato: convalida la stringa del colore e il nome del canale, poi restituisce quel numero in modo deterministico. Gli strumenti fratelli che convertono l'hex in un triplo RGB completo La lasciano ancora scegliere un campo; questa pagina è l'estrattore dedicato per le pipeline che chiedono una sola banda.
Che cos'è un canale colore e come si ottiene il numero
Un colore digitale sullo schermo è quasi sempre quattro canali da otto bit impacchettati: rosso, verde, blu e una banda alfa facoltativa (opacità). Nella forma hex a sei cifre #RRGGBB la prima coppia è il rosso, quella di mezzo il verde e l'ultima il blu; ogni coppia si legge come intero in base sedici da 00 (zero) a FF (duecentocinquantacinque).
Le forme a quattro e otto cifre #RGBA e #RRGGBBAA aggiungono una coppia alfa su quella stessa scala 0–255, ed è per questo che un token come #3498db80 non è lo stesso colore di #3498db: la coppia in più è trasparenza, non una quarta tinta. CSS rgb() scrive quegli stessi tre interi in decimale; rgba() aggiunge un'unità alfa nell'intervallo unitario da zero a uno, e questo solver moltiplica quell'unità per 255 e arrotonda all'intero più vicino così ogni canale estratto condivide una scala.
L'abbreviazione hex a tre e quattro cifre raddoppia ogni nibble: #f00c diventa #ff0000cc prima che si legga alcun canale. Estrarre un canale nominato è allora una lettura dopo quell'analisi: l'intero rosso, verde, blu o alfa, non una conversione in HSL, LAB o CMYK. L'algoritmo è aritmetica pura e convalida di stringhe.
Dove estrarre un solo canale merita il suo posto
I test di interfaccia che affermano il canale rosso di un token di marca, i caricatori di shader che legano un solo uniform e le verifiche su foglio di calcolo che confrontano solo l'alfa di una sovrapposizione vogliono un numero, non un convertitore a tre campi da spacchettare. Le pipeline di gioco e di stampa che autorano #RRGGBBAA hanno bisogno di fallire in modo chiaro quando qualcuno digita hue o saturation nel campo channel invece di restituire NaN in silenzio.
Preferisca questa capacità quando l'intento di ricerca è estrarre un canale colore — ottenere rosso, verde, blu o alfa come numero. Non è una pagina hex-verso-RGB, né un estrattore di palette da fotografie, né un miscelatore, né una tabella di colori CSS nominati. Tenga le richieste piccole, fissi value e il colore normalizzato nei test, e otterrà un intero riproducibile per ticket, plugin LMS e worker di bordo senza allestire una biblioteca propria di gestione del colore.
Casi d'uso
Uniform di shader e di canvas
Leghi un solo canale 0–255 da un token hex o rgba() a un uniform WebGL, a un aiuto di riempimento Canvas o a una pipeline di proprietà personalizzate CSS.
Verifiche dell'alfa sulle sovrapposizioni
Legga l'alfa scritto delle sovrapposizioni #RRGGBBAA o rgba() e rifiuti i token che hanno perso la trasparenza in silenzio o usato un nome di canale sconosciuto.
Domande frequenti
Quali canali può estrarre da un colore?
Esattamente quattro canali nominati: red, green, blue e alpha. Ciascuno torna come intero da 0 a 255 nel campo value.
Quali formati di colore accetta l'estrazione del canale?
Hex #RGB, #RGBA, #RRGGBB e #RRGGBBAA con o senza # iniziale, più CSS rgb(r, g, b) e rgba(r, g, b, a). I colori CSS nominati e i prefissi 0x non sono accettati.
Come si converte l'alfa da rgba() rispetto all'hex a otto cifre?
L'alfa hex è già in 0–255 (ad esempio #80 è 128). L'alfa di rgba() è un'unità da 0 a 1 e si converte con round(alpha × 255), così 0.5 diventa 128 sulla stessa scala.
Che succede se chiede l'alfa su un colore che non lo ha?
Quel valore predefinito è documentato così Lei distingue una banda omessa da un #ff o un 1.0 scritti.
Quanto costa estrarre un canale colore?
Lo strumento del browser è gratuito. Un colore o un canale non validi non vengono addebitati.
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/channel-extract \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"color":"#3498db","channel":"red"}'const res = await fetch("https://api.kit.forhosting.com/color/channel-extract", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"color": "#3498db",
"channel": "red"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/channel-extract",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"color": "#3498db",
"channel": "red"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/channel-extract", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"color":"#3498db","channel":"red"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"color":"#3498db","channel":"red"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/channel-extract", 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": "#3498db",
"channel": "red"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.channel_extract",
"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
max_color_chars | 64 |
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
Colori non validi e nomi di canale sconosciuti falliscono con invalid_input e non vengono addebitati.
Che cos'è un canale colore e come si ottiene il numero
Quando un colore omette l'alfa, l'estrattore tratta la banda assente come pienamente opaca 255 anziché inventare un buco, e imposta had_alpha a false così chi chiama distingue un valore predefinito da una trasparenza scritta.
Contratto di ingresso, formati accettati e forma della risposta
I componenti RGB in notazione funzionale vanno da 0–255; l'alfa di rgba() è 0–1 incluso e si converte con round(alpha × 255). La stringa color può avere al massimo 64 caratteri dopo il trim. Invii un corpo JSON con due campi obbligatori. color è una stringa: hex a tre, quattro, sei o otto cifre e un cancelletto iniziale facoltativo, oppure un elenco CSS rgb(r, g, b) / rgba(r, g, b, a). Gli alias hex, value, text, input e colour sono accettati per il campo color. channel deve essere uno dei nomi chiusi red, green, blue o alpha (il solver accetta le forme brevi r, g, b e a; l'enum pubblicato sono le quattro parole complete così il modulo web è un elenco a scelta, non una trappola di testo libero). In caso di successo il corpo restituisce value, l'intero estratto; channel, il nome canonico; color, un hex minuscolo normalizzato (#rrggbb se l'alfa è stato omesso, #rrggbbaa se è stato scritto); i quattro interi red, green, blue e alpha; scale 255; source che descrive la forma analizzata (hex3, hex4, hex6, hex8, rgb o rgba); had_alpha; e un breve messaggio. Esempio: color #3498db e channel red produce value 52 perché parseInt di 34 in base sedici è 52. Esempio: color #3498db80 e channel alpha produce value 128. Una convalida fallita — campo mancante, stringa vuota, prefisso 0x, lunghezza hex errata, caratteri non hex, rgb() con arietà sbagliata, alfa rgba() fuori da 0–1, o un canale sconosciuto come hue — restituisce invalid_input nominando il campo e non viene mai addebitata.
Dove estrarre un solo canale merita il suo posto
Poiché l'implementazione è parse puro di livello A, ogni chiamata riuscita costa il prezzo base pubblicato $0.002 senza token di modello e senza rete in uscita, e la convalida fallita non consuma saldo.
Casi di integrazione
Fixture di token di design e di tema
Verifichi che un hex di marca abbia ancora l'intero rosso, verde, blu o alfa atteso dopo un cambio di foglio di stile, senza spacchettare un convertitore RGB completo in ogni test.