Renaud MICHEL a écrit :
Le Mardi 15 Juillet 2003 19:29, serge carrere a écrit :
  
Mais, pourquoi et comment alors, Corel photopaint traite la quadrichromie
tout comme photoshop ?
    

Ben oui, mais Corel a les moyens de se payer une licence pour ce brevet, les 
développeurs de GIMP non.

  


Mais il y a sans doute une possibilité de l'avoir quand même pour la version actuelle de Gimp.
Amis programmeurs : Gimp permet un certain nombre de manipulations au travers d'un script, intégré depuis longtemps dans toute les version.
En gros RGB, le format standard fait un mélange de couleur par addition, ce qui donne les 16 million de couleur d'une image sur un écran.
Le modèle CMJN ou CMYK (ne langue anglosaxonne d'outre-atlantique ..c'est à dire au dela des brumes ...en bref chez les barbares.) est le modèle de couleur destiné  à fournir les masques d'imprimerie.
Ces masque sont en fait une trame de noir et les demi-ton sont obtenus par le décalage des couleurs lors de l'impression. Regardez un magazine en couleur avec une loupe, vous verrez parfaitement de quoi je parle.
Contrairement au RGB (standard sur un PC ou une télé), le CMJN rend les couleurs de manière soustactive. Il soustrait les valeur "C"yan "M"agenta et "J"aune du blanc, et le "N"oir  lui permet simplement d'économiser en fonçant plus ou moins l'image, ce qui permet d'économiser les encres de couleurs (plus chères).
Voilà, c'est bien joli, vous avez tous compris (??????), j'ai bien parlé ( je suis assez fier de briller ainsi MDR ).

On va faire mieux .
Gimp à un langage de script disais-je. Rien n'interdit de s'en faire un !... de ces script, non ? Par exemple pour convertir du RGB en CMJN et tant qu'à faire du CMJN en RGB.
 en utilisant les calques et tout le tintouin, histoire de se faire délicatement plaisir en pètant allègrment un brevet-s'il existe ( je sais je suis méchant ).
BIen vous savez que les couleurs RGB d'un écran sont codées pour chaque couleur sur des nombres allant de 0 à  255.
Pour le rouge pur la valeur=255 idem pour le bleu et le vert. Chaque point (pixel écran) de couleur RGB est un mélange d'une valeur de ces trois composantes
exemple concret : dans Gimp, prenez un dessin quelconque, sélectionnez l'outil Pipette et cliquer n'importe ou sur ce dessin. Vous aurez une fenre qui vous indiquera la composante RGB
pour ma part  #7aaccb. Bon vous shootez le # qui n'a rien à voir et dans Kcalc (la calculatrice KDE) cocher dans Base la mention "HEX" et rentre la valeur des deux premier caractère : 7a
Une fois cela fait, toujours dans BAse sélectionnez maintenant DEC (décimale) et la valeur en décimale apparait 7a = 122.
Bon c'est purement démonstratif. Il y'a des fonctions de scripting Gimp qui vous les donne automatiquement.
 
alors voilà l'algorithme à scripter.

de RGB  à CMJN
1) obtenir pour chaque pixel la valeur du mélange 7aaccb
2)l convertir en byte (0 à 255) la valeur de ce pixel pour chaque couleur R=122 G=172 B=206

et ensuite :

C := 255-R;
M := 255-G;
J:= 255-B;
       
 if C < M then
            N := C
 else
            N := M;


 if Y < K then
       N = YJ
         if N > 0 then       
            C = C - N;
            M = M - N;
             J = J - N;


Et l'inverse de CMJN à RGB

if (C + N) < 255 then
         R := 255 - (C + N)
        else
         R := 0;

     if (M)+ N) < 255 then
         G := 255 - (M + N)
        else
         G := 0;

     if (J + N) < 255 then
         B := 255 - (J + N)
        else
         B := 0;

Ben voilà, alors au boulot


Pierre Lo Cicero

Répondre à