RGB+N

Résolu
bmouget Messages postés 43 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 4 mars 2011 - 24 janv. 2007 à 14:25
bmouget Messages postés 43 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 4 mars 2011 - 24 janv. 2007 à 17:08
Bonjour,

Je voudrais obtenir le code Rouge Vert Bleu et Noir d'un code RGB.
Comment puis-je faire, quel-est l'algorithme à utiliser ?

Merci

8 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
24 janv. 2007 à 14:35
soit le nombre représentant ta couleur donné sous sa forme hexa : --> &h00XXYYZZ

XX représente la valeur Hexa du bleu
YY représente la valeur Hexa du Vert
ZZ représente la valeur Hexa du Rouge

Quant au noir, c'est tout simplement lorsque les trois composantes RGB sont égales à 0

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
24 janv. 2007 à 14:44
Il n'y a pas de "Code" RGB...
Il y a la représentation, en un Long, d'une couleur... et ce "long" peut être décomposé en ses 3 composantes R, G et B
Méfie-toi simplement de certaines utilisations...
passe d'abord par la Fonction TranslateColor de l'api DE WINDOWS...
Celà t'évitera certains désagréments, notamment si tu fais référence au "Long" d'une couleur OLE.
3
Utilisateur anonyme
24 janv. 2007 à 14:44
Salut,

Explications sur ce topic :
http://www.vbfrance.com/forum.v2.aspx?ID=876586








__________
Kenji
3
bmouget Messages postés 43 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 4 mars 2011
24 janv. 2007 à 14:50
En fait je voudrais obtenir la valeur RGB + Noir comme pour une imprimante couleur.
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
24 janv. 2007 à 15:29
Je t'arrête tout de suite, là :

Une imprimante couleur n'utilise certes pas le système RGB (rouge, Vert, Bleu), mais le système CYMK (Cyan, Yellow, Magenta, Black,  pour, donc,    ..le bleu, le jaune, le rouge et le noir ) . Il te suffit d'ailleurs de regarder les étiquettes de tes cartouches...

Il y a déjà eu une discussion récemment au sujet de ces 2 systèmes, non toujours exactement transposables de l'un vers l'autre. J'y ai participé. Retrouve-là si celà t'intéresse vraiment, mais tu peux également frapper CYMK sur Google et lire.

La discussion dont il s'agit avait été ouverte par un candidat "peintre" auquel je n'ai même pas pris le temps de répondre qu'en peinture, il n'y avait de surcroît pas un noir, mais plusieurs... car le noir n'est pas une couleur définie mais une couleur portée à son extrême (ce qui ne peut être le cas avec l'informatique).
Il en va de même en ce qui concerne le blanc (qui n'est pas une couleur non plus). En RGB ? 255,255,255 est le blanc "admis". En peinture, il n'y a pas de "blanc admis" mais plusieurs blanc, résultant chacun, de l'oxyde utilisé (un blanc de zinc n'est par exemple qu'en apparence - quand il est seul - identique à un blanc de titane .... Les choses diffèrent par contre considérablement quand on s'amuse à mélanger, en gardant les mêmes proportions, l'un ou l'autre avec une autre couleur, quelle qu'elle soit !...)

Satisfait ?
3
bmouget Messages postés 43 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 4 mars 2011
24 janv. 2007 à 15:36
Ok

Mais quel est l'algorithme de transformation RGB -> CYMK ?

Merci
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
24 janv. 2007 à 16:47
Voici les formules de conversion.

Attention, ces formules supposent l'utilisation de valeur normalisées pour les couleurs, c'est à dire variant de 0 à 1.
En vb les valeurs variant de 0 à 255, il te faudra faire la transposition.

Black = minimum(1-Red,1-Green,1-Blue)
Cyan = (1-Red-Black)/(1-Black)
Magenta = (1-Green-Black)/(1-Black)
Yellow = (1-Blue-Black)/(1-Black)

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
3
bmouget Messages postés 43 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 4 mars 2011
24 janv. 2007 à 17:08
Merci à vous tous
3
Rejoignez-nous