La formule pour convertir CMJN en RGB
La conversion simplifiée suppose que les valeurs CMJN sont exprimées en pourcentage, de 0 à 100. On applique ensuite les formules suivantes :
R = 255 × (1 − C / 100) × (1 − K / 100)
G = 255 × (1 − M / 100) × (1 − K / 100)
B = 255 × (1 − Y / 100) × (1 − K / 100)
Dans ces formules, C représente le cyan, M le magenta, Y le jaune et K le noir. Les résultats RGB sont compris entre 0 et 255 et doivent généralement être arrondis à l’entier le plus proche.
Formule avec des valeurs normalisées
Si les valeurs CMJN sont déjà comprises entre 0 et 1, utilisez directement :
R = 255 × (1 − C) × (1 − K)
G = 255 × (1 − M) × (1 − K)
B = 255 × (1 − Y) × (1 − K)
Exemples de conversion CMJN en RGB
Exemple 1 : CMJN 0 / 100 / 100 / 0
Pour un rouge composé de 0 % de cyan, 100 % de magenta, 100 % de jaune et 0 % de noir :
- R = 255 × 1 × 1 = 255
- G = 255 × 0 × 1 = 0
- B = 255 × 0 × 1 = 0
Résultat RGB : 255, 0, 0
Code hexadécimal : #FF0000
Exemple 2 : CMJN 20 / 40 / 0 / 10
Calcul des trois composantes :
- R = 255 × 0,80 × 0,90 = 183,6, soit 184
- G = 255 × 0,60 × 0,90 = 137,7, soit 138
- B = 255 × 1 × 0,90 = 229,5, soit 230
Résultat RGB : 184, 138, 230
Code hexadécimal : #B88AE6
Exemple 3 : CMJN 0 / 0 / 0 / 100
Avec 100 % de noir :
- R = 255 × 1 × 0 = 0
- G = 255 × 1 × 0 = 0
- B = 255 × 1 × 0 = 0
Résultat RGB : 0, 0, 0
Code hexadécimal : #000000
Convertir des valeurs CMJN comprises entre 0 et 255
Certains logiciels ou formats utilisent une échelle de 0 à 255 au lieu de pourcentages. Il faut alors normaliser chaque composante avant d’appliquer la formule :
Cₙ = C / 255, Mₙ = M / 255, Yₙ = Y / 255 et Kₙ = K / 255.
Utilisez ensuite :
R = 255 × (1 − Cₙ) × (1 − Kₙ)
G = 255 × (1 − Mₙ) × (1 − Kₙ)
B = 255 × (1 − Yₙ) × (1 − Kₙ)
Vérifiez toujours l’échelle employée avant le calcul : une valeur 100 peut représenter 100 % ou une valeur intermédiaire sur une échelle de 0 à 255.
Pourquoi une couleur CMJN n’a pas toujours un seul équivalent RGB
CMJN et RGB sont deux modèles colorimétriques différents :
- CMJN est principalement utilisé pour l’impression. Les encres absorbent une partie de la lumière.
- RGB est utilisé par les écrans, qui produisent les couleurs en émettant de la lumière.
La formule simplifiée ne tient pas compte du profil CMJN d’origine, du profil RGB de destination, du papier, des encres, du point blanc, de la limite totale d’encrage ou encore de la génération du noir. Une même combinaison CMJN peut donc produire un résultat différent selon le contexte.
Pour le Web, l’espace de destination le plus courant est sRGB IEC 61966-2.1. Lorsque la couleur source est hors du gamut RGB, elle doit être rapprochée des couleurs reproductibles selon une intention de rendu.
Comment obtenir une conversion plus fiable
- Identifiez le profil CMJN incorporé au document.
- Choisissez l’espace RGB de destination, généralement sRGB pour un affichage Web.
- Utilisez une véritable conversion de profil dans votre logiciel de traitement d’image.
- Contrôlez l’aperçu de la couleur convertie.
- Conservez le profil RGB dans le fichier lorsque le format le permet.
Attribuer un profil ou convertir vers un profil ?
Ces deux opérations ne sont pas équivalentes. Attribuer un profil conserve les valeurs numériques mais modifie leur interprétation. Convertir vers un profil modifie les valeurs afin de préserver autant que possible l’apparence de la couleur dans le nouvel espace.
Pour un projet destiné à l’impression, utilisez le profil CMJN correspondant au procédé, au papier et aux indications de l’imprimeur. Pour une utilisation à l’écran, convertissez généralement vers sRGB.
Conversion inverse : RGB vers CMJN
La conversion simplifiée dans l’autre sens commence par la normalisation des valeurs RGB :
Rₙ = R / 255, Gₙ = G / 255 et Bₙ = B / 255.
On calcule ensuite :
K = 1 − max(Rₙ, Gₙ, Bₙ)
Lorsque K est différent de 1 :
C = (1 − Rₙ − K) / (1 − K)
M = (1 − Gₙ − K) / (1 − K)
Y = (1 − Bₙ − K) / (1 − K)
Cette méthode reste théorique. Une séparation CMJN destinée à la production dépend notamment de la génération du noir et de la limite totale d’encrage.