Bonjour,
Convertir des RGB en CMYK est relativement simple avec les procedures:Avec ces procédures on peut procéder à une séparation de couleurs d'une image bitmap 24 bits pour une imprimante classique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 procedure RGBToCMY(const RGB: TRGBTriple; var C,M,Y: INTEGER); begin With RGB do begin C := 255 - rgbtRed; M := 255 - rgbtGreen; Y := 255 - rgbtBlue end; end; {RGBtoCMY} procedure RGBToCMYK(const RGB: TRGBTriple;var C,M,Y,K: INTEGER); begin RGBToCMY(RGB, C,M,Y); K := MinIntValue([C, M, Y]); C := C - K; M := M - K; Y := Y - K end; {RGBtoCMYK}
Mais si cette imprimante travaille en hexachromie du genre Cyan, Magenta, Jaune, Noir + Bleu + Rouge ???
Quelqu'un sait-il comment écrire la procédure de la séparation de couleurs du type :
Procedure RGBToCMYKC1C2(const RGB: TRGBTriple;const Col1, col2: Tcolor; var C,M,Y,K,C1,C2: Byte);
Où Col1 et col2 sont les deux couleurs additionnelles et C,M,Y,K,C1,C2 les valeurs retours de RGB converti en hexachromie exprimées en byte
Sans doute faut-il travailler à partir des valeurs hexadecimales des six couleurs d'impression
Interessant n'est-ce pas ?
Partager