Convertir RVB en CMJN
Ce convertisseur RVB vers CMJN transforme les canaux rouge, vert et bleu en pourcentages de cyan, magenta, jaune et noir.
Lancer gratuitement
Saisissez chaque valeur sur l’échelle habituelle de 0 à 255 : le calculateur applique la conversion soustractive standard. Le résultat est déterministe, clairement libellé et arrondi à deux décimales. Il convient ainsi aux contrôles rapides, aux traitements logiciels reproductibles, aux remises de fichiers de création et aux estimations de prépresse, sans image ni logiciel de gestion des couleurs.
Saisissez une couleur RVB complète
Indiquez les canaux rouge, vert et bleu sous forme de nombres compris entre 0 et 255, bornes incluses. Les trois sont obligatoires, car leur combinaison définit la couleur. Les valeurs décimales issues d’un calcul antérieur sont acceptées. Le convertisseur refuse les données absentes, non numériques, infinies ou hors plage au lieu de les tronquer silencieusement. Si votre source est en hexadécimal, convertissez d’abord chaque paire en valeur décimale. Conservez aussi le RVB d’origine dans votre documentation : cette opération décrit la même couleur nominale dans un autre modèle, mais ne remplace pas son profil colorimétrique.
Comprenez le calcul soustractif
Chaque canal est d’abord normalisé par division par 255. Le noir vaut un moins le plus grand canal normalisé. Sauf pour le noir pur, le cyan, le magenta et le jaune sont obtenus en retirant ce noir commun de l’inverse de chaque canal, puis en divisant par l’échelle restante. Les quatre composantes sont ensuite exprimées en pourcentages à deux décimales. Le noir pur exige un cas particulier afin d’éviter une division par zéro : 0% de cyan, magenta et jaune, et 100% de noir. Le blanc donne zéro pour les quatre composantes.
Employez les pourcentages à bon escient
Considérez la réponse comme une base mathématique pour la documentation, la validation, l’enseignement et la logique logicielle. Pour une production imprimée, transmettez également la couleur d’origine et demandez à l’imprimeur quel profil CMJN correspond au papier et à la presse. Un logiciel gérant les profils peut modifier les pourcentages pour préserver l’apparence dans une gamme imprimable plus réduite. Ce calculateur n’impose aucune limite d’encrage et ne décide pas si un noir enrichi convient. Via l’API, chaque conversion coûte $0.002 ; le navigateur exécute le même noyau déterministe, sans réseau, hasard ni état temporel.
Cas d’usage
Préparer une remise de création
Ajoutez une estimation CMJN cohérente à une couleur RVB avant de discuter des réglages propres à l’impression.
Valider un code de conversion
Produisez des pourcentages déterministes pour vos tests, intégrations et comparaisons avec une autre implémentation de la formule.
Enseigner la couleur soustractive
Montrez le lien entre les composantes RVB et le cyan, le magenta, le jaune et le noir, y compris le noir pur.
Questions fréquentes
Quelle plage RVB est acceptée ?
Chaque valeur rouge, verte et bleue doit être un nombre fini compris entre 0 et 255, bornes incluses.
Combien de décimales sont renvoyées ?
Chaque pourcentage CMJN est arrondi à deux décimales ; les pourcentages entiers exacts restent de simples nombres.
Pourquoi le noir pur est-il traité séparément ?
La formule générale provoquerait une division par zéro. Le résultat standard est 0% pour le cyan, le magenta et le jaune, et 100% pour le noir.
Le résultat correspond-il exactement à une conversion professionnelle ?
Pas toujours. Un logiciel professionnel peut appliquer un profil ICC, une limite d’encrage, une génération du noir, le comportement du papier et un rendu.
Quel est le prix d’une conversion par API ?
La conversion d’une couleur RVB coûte $0.002. Le calcul est également disponible dans le navigateur.
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/rgb-to-cmyk \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"red":46,"green":139,"blue":87}'const res = await fetch("https://api.kit.forhosting.com/color/rgb-to-cmyk", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"red": 46,
"green": 139,
"blue": 87
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/rgb-to-cmyk",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"red": 46,
"green": 139,
"blue": 87
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/rgb-to-cmyk", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"red":46,"green":139,"blue":87}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"red":46,"green":139,"blue":87}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/rgb-to-cmyk", 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
{
"red": 46,
"green": 139,
"blue": 87
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.rgb_to_cmyk",
"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. |