Mescolare due colori in proporzione
Questo strumento combina due colori esadecimali usando un peso percentuale preciso nello spazio RGB.
Esegui gratis nel browser
Lei specifica il primo colore, il secondo e il contributo percentuale del secondo. Il calcolatore elabora separatamente rosso, verde e blu, arrotonda ogni risultato a un canale valido e restituisce sia un valore esadecimale normalizzato maiuscolo sia i singoli numeri RGB. È utile quando un token grafico, un diagramma, un tema o una risorsa automatizzata richiede un risultato ripetibile anziché un colore scelto a occhio. Colori e proporzioni non validi vengono rifiutati chiaramente, mentre input identici generano sempre lo stesso output.
Definisca la proporzione prima della miscela
Consideri la proporzione come la percentuale apportata dal secondo colore. Zero assegna tutto il peso al primo, quindi il risultato coincide con color1; cento restituisce color2. Con venticinque, il primo contribuisce per il settantacinque per cento e il secondo per il venticinque. L’ordine è importante quando si crea una serie di campioni, perché invertirlo senza invertire anche la proporzione cambia il risultato. Inserisca una forma esadecimale breve a tre cifre, come #F00, oppure completa a sei, come #FF0000. Il cancelletto iniziale è facoltativo, ma ogni altro carattere deve essere esadecimale. Lo strumento rifiuta volutamente nomi CSS, funzioni RGB, colori alfa a otto cifre, campi mancanti e valori malformati, senza fare supposizioni. Nei processi in blocco, un refuso produce così un errore esplicito e non una tavolozza plausibile ma errata. Documenti l’ordine degli input negli script riutilizzabili affinché sia sempre chiaro quale estremo riceve la percentuale dichiarata.
Comprenda il calcolo RGB ponderato
L’algoritmo converte ogni colore nei canali rosso, verde e blu compresi fra zero e 255. Per ciascun canale moltiplica il primo valore per uno meno la frazione, il secondo per la frazione, somma i prodotti e arrotonda all’intero più vicino. Una miscela al cinquanta per cento pesa entrambi gli input allo stesso modo; una al dieci resta molto vicina al primo. I canali sono calcolati separatamente, senza casualità, tabelle, rete o regole nascoste. È una media lineare dei canali RGB codificati, non una miscela percettiva né una conversione HSL, LAB, LCH, di pigmenti o con correzione gamma. Il punto medio può quindi non apparire ugualmente luminoso, ed è previsto. Questo modello serve software che richiedono l’aritmetica consueta di generatori di token e routine grafiche. Il campo del metodo rende il calcolo riconoscibile nelle verifiche future.
Usi il risultato in modo affidabile
La risposta offre il colore miscelato come esadecimale maiuscolo a sei cifre e come oggetto RGB con canali interi. Ripete inoltre la proporzione, mostra entrambi i pesi normalizzati e identifica il metodo. Usi il valore hex nelle variabili CSS, nei manifesti dei temi, nei grafici, nei modelli e-mail o nei file di token; scelga i canali separati quando un programma richiede numeri oppure deve misurare contrasto e luminanza. Il calcolo deterministico è adatto a test esatti e fixture stabili. La versione nel browser è comoda per attività occasionali; una richiesta API costa $0.002 quando una pipeline, un CMS o un’applicazione deve automatizzare lo stesso processo. Verifichi l’accessibilità se sul colore comparirà del testo, poiché una proporzione corretta non garantisce contrasto sufficiente. Per una scala uniforme, mantenga la stessa coppia ordinata e applichi una sequenza pianificata di percentuali.
Casi d'uso
Generare passaggi di token grafici
Crei colori intermedi ripetibili fra due tinte di marchio approvate con pesi documentati.
Costruire varianti per grafici
Avvicini il colore di una serie a uno sfondo o accento comune senza scegliere ogni campione a mano.
Provare gli stati delle interfacce
Produca tinte stabili per stati attivi, selezionati e disabilitati nelle pipeline dei temi.
Domande frequenti
Che cosa rappresenta la proporzione?
È il peso percentuale di color2; la percentuale rimanente appartiene a color1.
Quali formati di colore sono accettati?
Sono ammessi valori esadecimali di tre o sei cifre, con o senza cancelletto iniziale.
Come vengono gestiti i canali frazionari?
Ogni canale RGB ponderato viene arrotondato deterministicamente all’intero più vicino da JavaScript.
La miscela è percettiva?
No. È una media diretta di canali RGB codificati, non una miscela HSL, LAB o con correzione gamma.
Quanto costa una richiesta API?
Il prezzo base è $0.002 per elemento; lo strumento nel browser si può usare direttamente nella pagina.
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/mix-ratio \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"color1":"#FF0000","color2":"#0000FF","ratio":50}'const res = await fetch("https://api.kit.forhosting.com/color/mix-ratio", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"color1": "#FF0000",
"color2": "#0000FF",
"ratio": 50
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/mix-ratio",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"color1": "#FF0000",
"color2": "#0000FF",
"ratio": 50
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/mix-ratio", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"color1":"#FF0000","color2":"#0000FF","ratio":50}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"color1":"#FF0000","color2":"#0000FF","ratio":50}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/mix-ratio", 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
{
"color1": "#FF0000",
"color2": "#0000FF",
"ratio": 50
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.mix_ratio",
"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. |