Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1416 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++ / OpenGL] tranformer une couleur de HPEN en RGB [résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++ / OpenGL] tranformer une couleur de HPEN en RGB [résolu]

n°448893
camarchepo​a
m'enfin !
Posté le 04-07-2003 à 16:34:52  profilanswer
 

dans une fenetre 2D j'ai tracé des carré avec un certain HPEN
 
maintenant je veut tracer cela sous forme de cube en OpenGL
 
ca marche bien sauf pour la couleur
 
en effet je récupère le stylo qui a fait mon dessin avec :
 

Code :
  1. GetObject(leStylo, sizeof (LOGPEN), &Pen);


 
je peut donc récupére la taille avec :
 

Code :
  1. int t=Pen.lopnWidth.x;


 
par contre pour la couleur j'ai le Pen.lopnColor mais cette couleur n'est pas de la forme RGB, ce qu'il me faut pour OpenGL  :??:  
 
alors comment faire pour convertire cela ?
 
merci !!
 
Edit : en fait il faudrai savoir comment est calculée la valeur lopnColor du HPEN en fonction des RGB qu'on lui a passé à la construction ....


Message édité par camarchepoa le 04-07-2003 à 17:25:37
mood
Publicité
Posté le 04-07-2003 à 16:34:52  profilanswer
 

n°448899
HelloWorld
Salut tout le monde!
Posté le 04-07-2003 à 16:38:39  profilanswer
 

Ben c'est de type COLORREF qui est un entier contenant les valeurs RGB que tu veux ...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°448903
camarchepo​a
m'enfin !
Posté le 04-07-2003 à 16:42:28  profilanswer
 

ca c ok !
 

Code :
  1. COLORREF   A 32-bit value used as a color value.


 
mais comment récupérer les RGB, that is the question ...

n°448905
LetoII
Le dormeur doit se réveiller
Posté le 04-07-2003 à 16:45:58  profilanswer
 

en général comme ça:
 

Code :
  1. COLORREF value;
  2. // du code
  3. unsigned char r,g,b;
  4. b = (unsigned char)value;
  5. g = (unsigned char)(value >> 8);
  6. r = (unsigned char)(value >> 16);


Message édité par LetoII le 04-07-2003 à 16:47:58

---------------
Le Tyran
n°448912
camarchepo​a
m'enfin !
Posté le 04-07-2003 à 16:51:24  profilanswer
 

LetoII a écrit :

en général comme ça:
 

Code :
  1. COLORREF value;
  2. // du code
  3. unsigned char r,g,b;
  4. b = (unsigned char)value;
  5. g = (unsigned char)(value >> 8);
  6. r = (unsigned char)(value >> 16);




 
super !
c juste ce qu'il me fallait !
juste le "r" et le "b" qui sont inversé mais c super !
 
merci beuacoup !!!!!!  :jap:  :jap:

n°448914
chrisbk
-
Posté le 04-07-2003 à 16:51:42  profilanswer
 

LetoII a écrit :

en général comme ça:
 

Code :
  1. COLORREF value;
  2. // du code
  3. unsigned char r,g,b;
  4. b = (unsigned char)value;
  5. g = (unsigned char)(value >> 8);
  6. r = (unsigned char)(value >> 16);




 
wrong :O
en COLORREF b et r sont inversé
 
(et perso je ferais un joli & histoire d'etre sur de bien tout decrassé)

n°448919
camarchepo​a
m'enfin !
Posté le 04-07-2003 à 16:54:32  profilanswer
 

chrisbk a écrit :


 
wrong :O
en COLORREF b et r sont inversé
 
(et perso je ferais un joli & histoire d'etre sur de bien tout decrassé)
 


 
un petit & sur quoi ?
 
PS : vu la promptitude, je pardonne bien volontier le r et le b  :D

n°448920
LetoII
Le dormeur doit se réveiller
Posté le 04-07-2003 à 16:55:10  profilanswer
 

chrisbk a écrit :


 
wrong :O
en COLORREF b et r sont inversé
 
(et perso je ferais un joli & histoire d'etre sur de bien tout decrassé)
 


 
Ouai ben je pouvais pas deviner, en général c ARVB  [:spamafote]


---------------
Le Tyran
n°448955
chrisbk
-
Posté le 04-07-2003 à 17:34:17  profilanswer
 

LetoII a écrit :


 
Ouai ben je pouvais pas deviner, en général c ARVB  [:spamafote]  


 
quand on ne sait pas on se tait [:aloy] [:ddr555]
 
 
camarchepouet : & 0xFF pour le rouge, 0xFF00 vert et 0xFF0000 bleu

n°448960
LetoII
Le dormeur doit se réveiller
Posté le 04-07-2003 à 17:42:38  profilanswer
 

chrisbk a écrit :


 
quand on ne sait pas on se tait [:aloy] [:ddr555]
 
 
camarchepouet : & 0xFF pour le rouge, 0xFF00 vert et 0xFF0000 bleu


 
Spas nécessaire à cause du cast


---------------
Le Tyran
mood
Publicité
Posté le 04-07-2003 à 17:42:38  profilanswer
 

n°448962
chrisbk
-
Posté le 04-07-2003 à 17:43:54  profilanswer
 

LetoII a écrit :


 
Spas nécessaire à cause du cast


 
je trouve ca pas beau sans [:sisicaivrai]

n°449198
LetoII
Le dormeur doit se réveiller
Posté le 04-07-2003 à 23:54:34  profilanswer
 

chrisbk a écrit :


 
je trouve ca pas beau sans [:sisicaivrai]


 
Autant s'épargner des opération inutiles  [:spamafote]  :whistle:


---------------
Le Tyran
n°449221
chrisbk
-
Posté le 05-07-2003 à 00:03:16  profilanswer
 

LetoII a écrit :


 
Autant s'épargner des opération inutiles  [:spamafote]  :whistle:  


 
bah :D
 
generalement apres isolation c pour bosser dessus et l'usigned char te fais risquer l'overflow, donc fo reconvertir en int, ce qui est pas beau niveau code, pis niveau asm generé je sais pas trop si y'a du gain [:meganne]

n°449231
LetoII
Le dormeur doit se réveiller
Posté le 05-07-2003 à 00:06:35  profilanswer
 

chrisbk a écrit :


 
bah :D
 
generalement apres isolation c pour bosser dessus et l'usigned char te fais risquer l'overflow, donc fo reconvertir en int, ce qui est pas beau niveau code, pis niveau asm generé je sais pas trop si y'a du gain [:meganne]
 


OverFlow? Tu bosse souvant avec des couleurs supérieur à 255 toi? :heink:


---------------
Le Tyran
n°449235
chrisbk
-
Posté le 05-07-2003 à 00:07:11  profilanswer
 

LetoII a écrit :


OverFlow? Tu bosse souvant avec des couleurs supérieur à 255 toi? :heink:  


 
non mais parfois je fais de l'alpha blending par exemple, de l'addition par saturation...[:spamafote] (encore que pour ce derneir y'a mon ami mmx)


Message édité par chrisbk le 05-07-2003 à 00:07:37

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++ / OpenGL] tranformer une couleur de HPEN en RGB [résolu]

 

Sujets relatifs
[Résolu] Définir la taille d'un JButton ?[RESOLU]Type incompatible dans une requête
Tri de valeur [resolu. solution inside]help comment mettre mes bordure de cadre en couleur noir
[VB] Déplacer une image à la souris [résolu !]Est-il possible d'avoir plusieurs couleur dans une jList?
[applet]lire un fichier coté serveur [resolu][texture][opengl] inserer une simple image en 2D
[Js] Recuper une valeur d'un pop up dans la page principale [resolu][résolu] Faire une redirection automatique sur la page précédente
Plus de sujets relatifs à : [C++ / OpenGL] tranformer une couleur de HPEN en RGB [résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR