Calculateur de retrait sous-couleur CMJN
Ce calculateur de retrait sous-couleur transforme une couleur CMJN en déterminant la quantité neutre commune au cyan, au magenta et au jaune, en retirant le pourcentage choisi de ce chevauchement, puis en ajoutant une quantité équivalente de noir dans la plage CMJN valide.
Lancer gratuitement
Il indique les canaux ajustés ainsi que l'encrage total avant et après le traitement. Le calcul est déterministe, valide chaque pourcentage et rend l'économie d'encre explicite avant l'intégration du résultat dans un flux d'impression.
Ce que modifie le retrait sous-couleur
Le retrait sous-couleur, couramment abrégé UCR, réduit la partie neutre créée par le chevauchement des encres cyan, magenta et jaune, puis la remplace par du noir. Une couleur CMJN, comme un gris foncé ou une ombre, peut contenir des quantités importantes des trois encres chromatiques, même si leur rôle visuel combiné consiste surtout à produire une densité neutre. Le calculateur définit le composant neutre supprimable comme le plus petit des trois pourcentages CMY. Cette règle garantit que l'opération ne fait jamais passer un canal sous zéro. Le pourcentage UCR choisi détermine la part retirée de ce composant commun : zéro conserve la couleur, tandis que cent élimine tout le chevauchement disponible. La même quantité calculée est ensuite ajoutée au canal noir existant, dans la limite de sa couverture maximale valide. Puisque trois contributions diminuent et qu'une seule est ajoutée au maximum, l'encrage total indiqué baisse. Le résultat constitue un ajustement mathématique de séparation des encres, et non une prévision exacte du rendu sur une presse, un papier, un profil ou un jeu d'encres donné.
Saisir et interpréter les valeurs CMJN
Saisissez le cyan, le magenta, le jaune et le noir sous forme de pourcentages compris entre zéro et cent. Ces valeurs doivent décrire une seule couleur CMJN avant l'application de l'UCR. Réglez le pourcentage UCR selon la part du composant CMY commun à remplacer. Un réglage modéré conserve davantage d'encre chromatique, tandis qu'un réglage fort transfère plus de densité neutre vers le noir. La sortie reprend les canaux CMJN ajustés et précise également le composant neutre, la quantité retirée de chaque canal CMY et la quantité réellement ajoutée au noir. Ces deux dernières valeurs peuvent différer lorsque le canal noir initial approche de sa limite supérieure : le noir est plafonné à cent, mais la réduction CMY demandée continue, ce qui entraîne une baisse plus importante de l'encrage total. L'encrage total avant et après correspond à la somme des quatre pourcentages de canal, souvent appelée couverture totale en production. L'option de précision contrôle uniquement l'arrondi affiché ; elle ne modifie pas le calcul UCR et n'autorise aucune valeur hors des plages validées.
Exploiter le résultat dans un flux d'impression
Utilisez ce résultat comme valeur de planification déterministe, outil de comparaison ou composant d'une chaîne couleur automatisée. Il permet notamment d'évaluer l'effet de différentes intensités UCR sur l'encrage total d'une même couleur source. Comparez plusieurs requêtes avec des entrées CMJN identiques et des pourcentages UCR différents afin de visualiser clairement le compromis. Avant d'adopter les valeurs ajustées en production, confrontez-les au profil ICC de destination, au procédé d'impression, au comportement du support, aux limites de séchage et à la stratégie de séparation recommandée par l'imprimeur. Une gestion des couleurs réelle peut employer des courbes de génération du noir plus complexes, le remplacement du composant gris, la compensation de l'engraissement du point et des limites de couverture propres au périphérique. Ce calculateur ne simule pas ces systèmes et ne prétend pas garantir une équivalence colorimétrique. Son objectif est précis et reproductible : retirer des quantités égales des canaux CMY superposés, ajouter du noir sans dépasser son maximum valide et montrer la réduction d'encre. Pour l'automatisation, l'API renvoie des champs numériques nommés pour chaque couleur traitée à $0.002 par requête.
Cas d’usage
Comparer les intensités UCR
Traitez la même couleur CMJN avec plusieurs pourcentages UCR et comparez les canaux obtenus ainsi que la réduction de l'encrage total.
Contrôler une couleur sombre
Estimez l'effet du remplacement du chevauchement CMY neutre par du noir avant d'appliquer les règles de production propres au périphérique.
Automatiser les calculs de séparation
Appliquez une règle UCR documentée et déterministe à des valeurs CMJN individuelles dans un processus reproductible.
Questions fréquentes
Quel est le tarif de ce calculateur via l'API ?
Chaque requête API coûte $0.002. Le même calcul déterministe est accessible gratuitement dans le navigateur.
Comment le composant neutre supprimable est-il calculé ?
Il correspond au plus petit pourcentage parmi le cyan, le magenta et le jaune, car cette quantité est présente dans les trois canaux et peut être retirée uniformément sans valeur négative.
Pourquoi l'encrage total diminue-t-il ?
L'opération retire la quantité calculée de trois canaux CMY et l'ajoute à un seul canal noir au maximum, ce qui réduit la somme des quatre pourcentages.
Que se passe-t-il si le noir approche déjà de 100 pour cent ?
L'ajout de noir s'arrête à 100 pour cent. Le retrait CMY demandé continue et la sortie indique la quantité inférieure réellement ajoutée au noir.
Le résultat garantit-il le même rendu imprimé ?
Non. Le rendu dépend du profil de sortie, de la presse, des encres, du support, de l'engraissement du point et de la méthode de séparation. Le résultat est un ajustement arithmétique UCR déterministe.
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/ucr \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"cyan":72,"magenta":64,"yellow":52,"black":18}'const res = await fetch("https://api.kit.forhosting.com/color/ucr", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"cyan": 72,
"magenta": 64,
"yellow": 52,
"black": 18
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/ucr",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"cyan": 72,
"magenta": 64,
"yellow": 52,
"black": 18
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/ucr", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"cyan":72,"magenta":64,"yellow":52,"black":18}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"cyan":72,"magenta":64,"yellow":52,"black":18}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/ucr", 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
{
"cyan": 72,
"magenta": 64,
"yellow": 52,
"black": 18
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.ucr",
"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. |