Inversez les couleurs d’une image et calculez le RGB complémentaire
Obtenez la couleur complémentaire exacte de chaque pixel RGB : chaque canal devient 255 moins sa valeur, le noir passe au blanc, le rouge au cyan et 12, 34, 56 devient 243, 221, 199. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
L’inverseur de couleurs reçoit une série d’échantillons de pixels RGB et calcule la couleur complémentaire exacte de chacun. Chaque canal rouge, vert et bleu est remplacé par 255 moins sa valeur d’origine : le noir devient blanc, le rouge devient cyan et toute valeur intermédiaire est transformée de manière prévisible. L’outil contrôle chaque canal avant le traitement et refuse les valeurs hors de la plage RGB standard de 0–255. Il convient ainsi aux vérifications rapides, à l’enseignement, aux tests et aux pipelines de données déterministes.
Fournissez des échantillons RGB clairement structurés
Saisissez un ou plusieurs pixels, chacun comportant les canaux numériques r, g et b. L’ordre des échantillons est conservé : le premier résultat inversé correspond à la première entrée, le deuxième à la deuxième, et ainsi de suite. Les valeurs peuvent inclure les bornes 0 et 255 ainsi que tout nombre intermédiaire.
Chaque valeur doit être finie et rester dans la plage inclusive 0–255 des échantillons RGB standard. Si un canal manque, n’est pas numérique, est infini ou sort de cette plage, la requête s’arrête avec une erreur de saisie au lieu de renvoyer une liste partiellement transformée. Cette validation stricte est utile lorsque les valeurs RGB proviennent d’un analyseur, d’une feuille de calcul, d’un script graphique ou d’un jeu de test, car aucune donnée défectueuse ne peut passer discrètement aux opérations suivantes.
Comprenez le calcul d’inversion
L’inversion s’effectue indépendamment sur les trois canaux avec la même équation : la valeur de sortie est égale à 255 moins la valeur d’entrée. Un pixel rouge 255, vert 0 et bleu 0 devient donc rouge 0, vert 255 et bleu 255, soit cyan. Le noir, représenté par 0, 0, 0, devient blanc avec 255, 255, 255.
Les valeurs médianes restent proches du milieu, tandis que les canaux sombres s’éclaircissent et les canaux clairs s’assombrissent. Aucune conversion de profil colorimétrique, correction gamma, opération d’arrondi, fusion ou compression n’est appliquée. La capacité agit directement sur les échantillons numériques fournis, ce qui rend le calcul transparent et reproductible.
Elle conserve aussi les valeurs fractionnaires valides au lieu de les convertir en entiers : 10.5 devient par exemple 244.5. Le résultat convient donc aux pipelines RGB en virgule flottante avant rastérisation ou quantification. À entrée identique, chaque appel produit exactement la même sortie.
Exploitez le résultat dans vos images et vos tests
L’objet renvoyé contient une liste pixels dont les enregistrements RGB inversés suivent l’ordre d’origine. Vous pouvez transmettre ces valeurs à votre code canvas, votre encodeur matriciel, une étape de préparation de shaders, un générateur de jeux de test ou un processus d’analyse des couleurs. La capacité traite volontairement des échantillons plutôt qu’un fichier PNG ou JPEG encodé : décoder puis réencoder un format peut introduire des choix de métadonnées, de compression, de canal alpha et de profil colorimétrique qui dépassent une simple inversion RGB.
Ce contrat ciblé facilite l’audit des calculs et la comparaison entre environnements. Il est particulièrement utile pour créer des valeurs attendues canoniques lors d’un test graphique, illustrer les couleurs complémentaires ou inverser des couleurs déjà extraites.
Cas d’usage
Créez des jeux de test graphiques
Produisez des échantillons RGB complémentaires déterministes pour les tests unitaires sans dupliquer le calcul d’inversion.
Expliquez les couleurs complémentaires
Montrez précisément comment le noir, le blanc, les couleurs primaires et les valeurs RGB intermédiaires changent canal par canal.
Préparez des pixels pour le rendu
Transformez des échantillons RGB déjà décodés par un canvas, un analyseur matriciel ou un pipeline graphique avant l’étape suivante.
Questions fréquentes
Quel est le coût de l’opération ?
Vous pouvez aussi exécuter ce calcul déterministe dans le navigateur sur cette page.
Que se passe-t-il si un canal sort de 0–255 ?
La requête échoue avec une erreur de saisie qui identifie le pixel et le canal. Aucun résultat partiel n’est renvoyé.
Les valeurs RGB fractionnaires sont-elles acceptées ?
Oui. Toute valeur numérique finie comprise entre 0 et 255 est acceptée, puis son inverse exact est renvoyé sans arrondi imposé.
Cet outil accepte-t-il les fichiers PNG ou JPEG ?
Non. Il reçoit des échantillons de pixels RGB décodés. Le décodage, les métadonnées, la compression, le canal alpha et les profils colorimétriques sont exclus.
L’ordre des pixels est-il conservé ?
Oui. Chaque enregistrement de sortie garde la même position que l’enregistrement d’entrée correspondant.
Combien d’échantillons une requête accepte-t-elle ?
Une requête peut contenir de un à 100,000 échantillons RGB.
Outils associés
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/image/invert-colors \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pixels":[{"r":255,"g":128,"b":0},{"r":12,"g":34,"b":56}]}'const res = await fetch("https://api.kit.forhosting.com/image/invert-colors", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pixels": [
{
"r": 255,
"g": 128,
"b": 0
},
{
"r": 12,
"g": 34,
"b": 56
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/invert-colors",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pixels": [
{
"r": 255,
"g": 128,
"b": 0
},
{
"r": 12,
"g": 34,
"b": 56
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/invert-colors", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pixels":[{"r":255,"g":128,"b":0},{"r":12,"g":34,"b":56}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pixels":[{"r":255,"g":128,"b":0},{"r":12,"g":34,"b":56}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/invert-colors", 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
{
"pixels": [
{
"r": 255,
"g": 128,
"b": 0
},
{
"r": 12,
"g": 34,
"b": 56
}
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.invert_colors",
"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.
Limites
max_items | 100000 |
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. |
Notes techniques
Fournissez des échantillons RGB clairement structurés
Une requête accepte jusqu’à 100,000 échantillons, limite pratique pour le navigateur et l’automatisation par API.
Exploitez le résultat dans vos images et vos tests
La version navigateur exécute le même calcul pur que l’API. Vous pouvez donc vérifier les données sur la page, puis appeler l’API pour $0.002 par requête lors de traitements récurrents.