Fusionnez deux couleurs en mode Incrustation
Ce mélangeur associe une couleur de base et une couleur de fusion selon l'opération Incrustation des logiciels graphiques.
Lancer gratuitement
Chaque canal rouge, vert et bleu est traité séparément : les canaux sombres de la base utilisent la multiplication et les canaux clairs utilisent l'écran. Saisissez des couleurs hexadécimales à trois ou six chiffres pour obtenir un résultat normalisé, des canaux RGB numériques et une chaîne RGB prête pour CSS. Le calcul est déterministe, ne demande aucune image et valide les deux entrées avant de répondre.
Comment Incrustation choisit sa formule
Incrustation renforce le contraste au lieu de calculer la moyenne de deux couleurs. Le calculateur convertit d'abord chaque composante hexadécimale en une valeur comprise entre zéro et un. Il examine ensuite séparément les composantes rouge, verte et bleue de la base. Lorsque la valeur de base est inférieure ou égale à la moitié, la composante suit une multiplication : deux fois la base fois la fusion. Au-dessus de la moitié, elle suit un écran : un moins deux fois les distances restantes des deux composantes par rapport à un. Ce choix est effectué indépendamment pour chaque canal ; un même résultat peut donc multiplier le rouge et appliquer l'écran au bleu. La valeur normalisée est enfin ramenée entre 0 et 255 et arrondie à l'entier le plus proche. Cette suite explicite garantit une sortie reproductible et correspond à la définition conventionnelle sans alpha. L'ordre est important : intervertir la base et la fusion peut sélectionner une autre branche et produire une couleur différente.
Saisissez les couleurs et interprétez le résultat
Indiquez une couleur de base et une couleur de fusion en notation hexadécimale. Les formes à six chiffres, comme #336699, et à trois chiffres, comme #369, sont acceptées. Le dièse initial est facultatif, mais les canaux alpha, noms de couleur, fonctions CSS et espaces placés entre les chiffres sont refusés. Les valeurs courtes sont développées avant le calcul et les entrées valides sont renvoyées sur six chiffres majuscules afin d'uniformiser les journaux et les tests. La réponse comprend la couleur fusionnée en hexadécimal, un objet RGB aux champs entiers et une chaîne rgb(...) directement utilisable en CSS. Elle rappelle aussi les entrées normalisées et précise le mode. La validation précède tout calcul. Si un champ manque, n'est pas une chaîne, contient un caractère interdit ou présente une longueur incorrecte, la requête renvoie une erreur d'entrée invalide sans faire d'hypothèse. Cette rigueur est utile dans les chaînes de build, où une couleur plausible mais involontaire serait plus difficile à repérer qu'un échec explicite.
Intégrez des résultats déterministes à votre conception
Utilisez ce calculateur lorsqu'une spécification mentionne Incrustation, mais que vous avez besoin d'une couleur plate concrète plutôt que d'un document à calques. Il permet de créer des jetons de thème, de contrôler le résultat d'un éditeur graphique, de produire des valeurs attendues pour des tests de rendu ou de calculer une couleur de repli pour un système qui ne conserve pas les modes de fusion. Comme l'opération porte uniquement sur les canaux, elle n'analyse ni pixels, ni opacité, ni profils colorimétriques, ni dégradés, ni éléments voisins. Si un calque est transparent, composez son alpha séparément ou employez un traitement d'image qui comprend toute la pile. Le calcul agit directement sur les canaux RGB encodés ; il ne linéarise pas la lumière sRGB et n'effectue pas de mélange perceptuel. Ce choix correspond volontairement à la formule conventionnelle attendue en création graphique. L'utilisation dans le navigateur est gratuite et chaque requête API automatisée coûte $0.002. Les deux parcours exécutent le même calcul pur, sans réseau, hasard ni horloge : des entrées valides identiques donnent toujours la même sortie.
Cas d’usage
Aplatissez un jeton graphique
Transformez une base et un calque Incrustation en une seule couleur hexadécimale stable pour votre thème ou vos composants.
Contrôlez un logiciel graphique
Comparez le rendu d'un outil à un calcul indépendant par canal pendant la validation visuelle.
Préparez des données de test
Produisez des résultats RGB déterministes pour les tests unitaires de fusion et les instantanés multiplateformes.
Questions fréquentes
Quel est le prix d'une requête API ?
Chaque requête API coûte $0.002. Vous pouvez également exécuter gratuitement le même calcul dans votre navigateur.
L'ordre des entrées est-il important ?
Oui. La base décide si chaque canal utilise la multiplication ou l'écran ; inverser les couleurs peut donc modifier le résultat.
Quels formats de couleur acceptez-vous ?
Les couleurs RGB hexadécimales à trois ou six chiffres sont admises, avec ou sans # initial. Alpha, noms et fonctions CSS sont refusés.
Comment les canaux sont-ils arrondis ?
Chaque résultat normalisé est multiplié par 255, arrondi à l'entier le plus proche, puis formaté en hexadécimal majuscule.
Cet outil fusionne-t-il des images ou de la transparence ?
Non. Il associe seulement deux couleurs RGB opaques ; pixels, alpha, dégradés et profils colorimétriques sont hors périmètre.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/color/overlay \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"base":"#336699","blend":"#FFCC00"}'const res = await fetch("https://api.kit.forhosting.com/color/overlay", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"base": "#336699",
"blend": "#FFCC00"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/overlay",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"base": "#336699",
"blend": "#FFCC00"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/overlay", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"base":"#336699","blend":"#FFCC00"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"base":"#336699","blend":"#FFCC00"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/overlay", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"base": "#336699",
"blend": "#FFCC00"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.overlay",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |