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

  FORUM HardWare.fr
  Programmation

  [C++ Builder] Comment convertir un TColor vers du RGB ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++ Builder] Comment convertir un TColor vers du RGB ?

n°185969
Profil sup​primé
Posté le 30-07-2002 à 12:36:39  answer
 

En fait je scan les pixels d'une image, et je veux obtenir les valeurs rgb de chacun des pixels, mais le probleme c que les pixels renvoient une valeur TColor qui est sur 4 octets, en hexadecimal....
 
Alors je cherche comment convertir ca en rgb mais je vois pas comment faire, ou s'il y a une autre maniere dans c++ builder de recuperer les valeurs des pixels ???
 
 
 
Pour infos:
 
enum TColor {clMin=-0x7fffffff-1, clMax=0x7fffffff};
 
Description
 
Le type TColor est utilisé pour spécifier la couleur d'un objet. Il est utilisé par la propriété Color de nombreux composants et par bien d'autres propriétés qui spécifient des valeurs de couleurs.
 
L'unité Graphics contient la définition de constantes TColor utiles. Ces constantes renvoient soit directement à la couleur la plus approchante dans la palette système (par exemple, clBlue renvoie au bleu), soit à la couleur de l'élément écran du système telle qu'elle est définie dans la section Couleur du Panneau de configuration Windows (par exemple, clBtnFace renvoie à la couleur système des faces de boutons).
 
Si vous spécifiez une valeur TColor en tant que valeur hexadécimale de 4 octets au lieu d'utiliser les constantes définies dans l'unité Graphics, les trois premiers octets représentent respectivement l'intensité RGB des couleurs bleu, vert et rouge. La valeur 00FF0000 représente un bleu pur de pleine intensité, 0000FF00, un vert pur de pleine intensité et 000000FF, un rouge pur de pleine intensité. 00000000 représente le noir et 00FFFFFF, le blanc.
 
Si l'octet de poids fort vaut zéro (00), la couleur obtenue est celle la plus approchante dans la palette système. Si l'octet de poids fort vaut un (01), la couleur obtenue est celle la plus approchante dans la palette actuellement réalisée. Si l'octet de poids fort vaut deux (02), la couleur obtenue est celle la plus approchante dans la palette logique du contexte de périphérique en cours.
 
Les tableaux suivants énumèrent les constantes de couleur de l'unité Graphics. Les deux premières colonnes sont les couleurs correspondant aux couleurs les plus proches dans la palette système, alors que les deux dernières sont les couleurs définies dans le panneau de configuration de Windows.

mood
Publicité
Posté le 30-07-2002 à 12:36:39  profilanswer
 

n°185979
Profil sup​primé
Posté le 30-07-2002 à 12:53:08  answer
 

:cry:  meme pas une ptite reponse... jsais bien c les vacances et l'heure de manger mais quand meme  :(  
 
 
(up deguise)

n°185980
farib
Posté le 30-07-2002 à 12:58:44  profilanswer
 

ben c pourtaint *clair* la description non  ???
 
t'as juste un ptit peut d'arithmétique a fiare pour extraire les codes rgb de la valeur hea..
 
bizarre...

n°185982
Profil sup​primé
Posté le 30-07-2002 à 13:03:43  answer
 

Heu comment te dire.... non c pas tres clair, et ca me simple pas tres correct comme methode pour simplement recuperer la couleur d'un pixel, d'autant plus qu'il me semble qu'il existait un autre moyen de faire ca mais que je ne retrouve plus.

n°185983
antp
Super Administrateur
Champion des excuses bidons
Posté le 30-07-2002 à 13:09:27  profilanswer
 

rouge = (couleur & 0x00FF0000) << 4;
vert = (couleur & 0x0000FF00) << 2;
bleu = (couleur & 0x000000FF);
 
ça devrait être un truc comme ça... je pense :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°186008
Profil sup​primé
Posté le 30-07-2002 à 13:48:59  answer
 

antp a écrit a écrit :

rouge = (couleur & 0x00FF0000) << 4;
vert = (couleur & 0x0000FF00) << 2;
bleu = (couleur & 0x000000FF);
 
ça devrait être un truc comme ça... je pense :D




 
 
Ouais je suis pas sur, ca me semble plus que bancal ton truc, personne d'autre ne se sers de c++ builder et sais comment faire ?

n°186046
antp
Super Administrateur
Champion des excuses bidons
Posté le 30-07-2002 à 14:19:51  profilanswer
 

pourquoi bancal :heink:


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°186052
*syl*
--&gt; []
Posté le 30-07-2002 à 14:23:54  profilanswer
 

ColorToRGB()

n°186056
LetoII
Le dormeur doit se réveiller
Posté le 30-07-2002 à 14:26:01  profilanswer
 

antp a écrit a écrit :

pourquoi bancal :heink:




 
 
je vois pas, perso c comme ça que je fais (j'ai pas vérifié si ct juste d'un point de vu calcul, masi la méthode me parrait bonne)


---------------
Le Tyran
n°186061
Profil sup​primé
Posté le 30-07-2002 à 14:29:39  answer
 

*Syl* a écrit a écrit :

ColorToRGB()




 
 
Ah voila, merci c'est exactement ce que je recherchais, impossible de la retrouver cette fonction, merci beaucoup... :hello:
 
 
Au fait pendant qu'on y est, tu saurais pas comment on fait la manipulation inverse (rgb -> hexa type TColor)  ???


Message édité par Profil supprimé le 30-07-2002 à 14:40:52
mood
Publicité
Posté le 30-07-2002 à 14:29:39  profilanswer
 

n°186234
Profil sup​primé
Posté le 30-07-2002 à 15:48:55  answer
 

:hello:  :hello:  :sweat:

n°186243
*syl*
--&gt; []
Posté le 30-07-2002 à 15:54:08  profilanswer
 

TColor(ta valeur en RGB);
 
Ça te vas pas ça ? Après y'a l'histoire du poids fort qu'y n'est pas pris en compte ici mais pour ça regarde l'aide, c'est bien expliqué.

n°186244
Profil sup​primé
Posté le 30-07-2002 à 15:55:41  answer
 

*Syl* a écrit a écrit :

TColor(ta valeur en RGB);
 
Ça te vas pas ça ? Après y'a l'histoire du poids fort qu'y n'est pas pris en compte ici mais pour ça regarde l'aide, c'est bien expliqué.




 
ok je vais essayer voir, merci

n°186263
antp
Super Administrateur
Champion des excuses bidons
Posté le 30-07-2002 à 16:21:44  profilanswer
 

*Syl* a écrit a écrit :

ColorToRGB()




 
arf je me disais bien que j'avais vu une fonction du genre mais je ne la trouvais plus :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire

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

  [C++ Builder] Comment convertir un TColor vers du RGB ?

 

Sujets relatifs
Comment créer un lien ou une redirection vers une page asp...[C++ Builder] Piloter Excel ... Arg !
Convertir une base de donnee ACCESS en Postgresql[C++ Builder] Comment on met une police en bold DANS LE PROG
Copier un repertoire vers un autre[Format] Une date du type "2415019" sous Unix...Comment la convertir?
[PHP] Convertir les &eacute; &egrave; ect...[C++ Builder] Quel .h inclure pour la fonction ROUND ?
[access 2 mysql] comment convertir une BD access en mysql ?[C++ Builder] Comment n afficher ke 2 chiffres apres la virgule(float)
Plus de sujets relatifs à : [C++ Builder] Comment convertir un TColor vers du RGB ?


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