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

  FORUM HardWare.fr
  Programmation
  Divers

  "Masque" Hexadécimal

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

"Masque" Hexadécimal

n°410454
Mr yvele
yvele n'est plus.
Posté le 28-05-2003 à 15:16:03  profilanswer
 

:hello:  
Heu j'ai juste un petite question...
 
J'ai une couleur en héxadécimal.. du style
0x123456
 
et heu.. j'aimerai récuperer l'héxa de chaque couleur..
0x12 0x34 0x56
 
comment faire? avec un "et" ou un "ou" logique?
quel masque appliquer?
 
du style :
0x123456 & 0x001100 = 0x003400 = 0x34 (c un exemple hein.. je me rend bien compte que c'est débile)


Message édité par Mr yvele le 28-05-2003 à 15:17:39
mood
Publicité
Posté le 28-05-2003 à 15:16:03  profilanswer
 

n°410468
VisualC++
J'va y penser ...
Posté le 28-05-2003 à 15:21:02  profilanswer
 

Code :
  1. MASKRED = 0xFF0000
  2. MASKGREEN = 0x00FF00
  3. MASKBLUE = 0x0000FF
  4. red = (TACOULEUR & MASKRED >> 16) & 0x0000FF
  5. green = (TACOULEUR & MASKGREEN >> 8) & 0x0000FF
  6. blue = (TACOULEUR & MASKBLUE >> 0) & 0x0000FF


 
Edit : & et pas && comme on me l a fait remarquer :jap:


Message édité par VisualC++ le 28-05-2003 à 15:25:40
n°410469
Tetragramm​aton IHVH
dieu unique => pensée unique
Posté le 28-05-2003 à 15:21:56  profilanswer
 

Tu veux faire un truc dans ce genre, je suppose
 

Code :
  1. x = 0x123456;
  2. b = x & 0xFF;
  3. g = (x & 0xFF00) >> 8;
  4. r = (x & 0xFF0000) >> 16;


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
n°410470
Tetragramm​aton IHVH
dieu unique => pensée unique
Posté le 28-05-2003 à 15:23:43  profilanswer
 

VisualC++ a écrit :

Code :
  1. MASKRED = 0xFF0000
  2. MASKGREEN = 0x00FF00
  3. MASKBLUE = 0x0000FF
  4. red = (TACOULEUR && MASKRED >> 16) && 0x0000FF
  5. green = (TACOULEUR && MASKGREEN >> 8) && 0x0000FF
  6. blue = (TACOULEUR && MASKBLUE >> 0) && 0x0000FF




 
 :non: c'est &, pas &&


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
n°410473
Mr yvele
yvele n'est plus.
Posté le 28-05-2003 à 15:24:47  profilanswer
 

exactement.. mais heu, je suis en action script.. :/
 
je devrai plutot passer par un masque binaire?.. heu.. j'ai dit une connerie la, nan?
 
0x123456 & 0b000011110000
 
 :??:

n°410474
VisualC++
J'va y penser ...
Posté le 28-05-2003 à 15:24:56  profilanswer
 

oui y en a 1 en trop desole

n°410478
Mr yvele
yvele n'est plus.
Posté le 28-05-2003 à 15:26:15  profilanswer
 

Ah nan c pareil.. chui con..
le probleme c'est qu'en actionscript, je peu pas faire de >> pour décaler..
 
 :sweat:

n°410479
Tetragramm​aton IHVH
dieu unique => pensée unique
Posté le 28-05-2003 à 15:26:27  profilanswer
 

Mr yvele a écrit :

exactement.. mais heu, je suis en action script.. :/
 
je devrai plutot passer par un masque binaire?.. heu.. j'ai dit une connerie la, nan?
 
0x123456 & 0b000011110000
 
 :??:  


 
 :pfff:  
0b000011110000 = 0xF0, c'est pareil


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
n°410482
VisualC++
J'va y penser ...
Posté le 28-05-2003 à 15:26:53  profilanswer
 

Mr yvele a écrit :

exactement.. mais heu, je suis en action script.. :/
 
je devrai plutot passer par un masque binaire?.. heu.. j'ai dit une connerie la, nan?
 
0x123456 & 0b000011110000
 
 :??:  


 
Si tu peux specifier du binaire, tu dois pouvoir passer de l hexa :??:
 
Mais bon oui 0xFF0000 = 0b111111110000000000000000 et ainsi dessuite, donc a toi de remplacer

n°410483
chrisbk
-
Posté le 28-05-2003 à 15:26:54  profilanswer
 

Mr yvele a écrit :

exactement.. mais heu, je suis en action script.. :/
 
je devrai plutot passer par un masque binaire?.. heu.. j'ai dit une connerie la, nan?
 
0x123456 & 0b000011110000
 
 :??:  


 
heuh tu sais, le binaire se traduit en hexa et l'inverse aussi alors bon...

mood
Publicité
Posté le 28-05-2003 à 15:26:54  profilanswer
 

n°410486
Tetragramm​aton IHVH
dieu unique => pensée unique
Posté le 28-05-2003 à 15:27:48  profilanswer
 

Mr yvele a écrit :

Ah nan c pareil.. chui con..
le probleme c'est qu'en actionscript, je peu pas faire de >> pour décaler..
 
 :sweat:  


 
Au pire, divise par la puissance de 2 correspondante
Mais c'est quoi ce langage qui n'a même pas de décalage ?


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
n°410487
Mr yvele
yvele n'est plus.
Posté le 28-05-2003 à 15:27:51  profilanswer
 

oui je me suis planté je voulais mettre :
 
0b1111111100000000
 
mais bon.. tfaçon ça reviens au meme.. jpeu pas décaler..

n°410488
Mr yvele
yvele n'est plus.
Posté le 28-05-2003 à 15:28:14  profilanswer
 

Tetragrammaton IHVH a écrit :


 
Au pire, divise par la puissance de 2 correspondante
Mais c'est quoi ce langage qui n'a même pas de décalage ?  


 
le langage de flash MX..  :sweat:

n°410490
chrisbk
-
Posté le 28-05-2003 à 15:28:47  profilanswer
 

Mr yvele a écrit :


 
le langage de flash MX..  :sweat:  


t vraiment sur de ton coup ? parce que la c abusé quand meme

n°410496
Mr yvele
yvele n'est plus.
Posté le 28-05-2003 à 15:29:41  profilanswer
 

putain, a moins que je convertisse en string, puis que je découpe ma string, et enfin, je pourrai avoir mes 3 valeurs héxa, pour enfin, pouvoir les convertir en entier!
 
ouèèè!!
 
... mais c bidon comme solution..

n°410498
chrisbk
-
Posté le 28-05-2003 à 15:30:35  profilanswer
 

Mr yvele a écrit :

putain, a moins que je convertisse en string, puis que je découpe ma string, et enfin, je pourrai avoir mes 3 valeurs héxa, pour enfin, pouvoir les convertir en entier!
 
ouèèè!!
 
... mais c bidon comme solution..  


 
non, comme dit plus haut, tu fais une division par la puissance de deux qui va bien  
 
eg a la place de faire
r = (x & 0xFF0000) >> 16;  
 
tu fais
 
r = (x & 0xFF0000) / (2^16);

n°410504
Mr yvele
yvele n'est plus.
Posté le 28-05-2003 à 15:31:27  profilanswer
 

chrisbk a écrit :


t vraiment sur de ton coup ? parce que la c abusé quand meme


 
 
merde... raaaahhhh jsuis un caca boudin!!!!!!!!
c'est bon, ça existe...
>> (décalage droit au niveau du bit)
 
 
zut, pardon pour vous avoir dérangé pour rien...
merdeuh!  
 
 [:theorie de nico]
 
 
 

chrisbk a écrit :


r = (x & 0xFF0000) / (2^16);  


 
Ah ben oui.. merde..
fait trop chaud.. c'est a cause du soleil.. chui fatigué... heu.. lol


Message édité par Mr yvele le 28-05-2003 à 15:33:41
n°410506
Tetragramm​aton IHVH
dieu unique => pensée unique
Posté le 28-05-2003 à 15:31:45  profilanswer
 

Mr yvele a écrit :

putain, a moins que je convertisse en string, puis que je découpe ma string, et enfin, je pourrai avoir mes 3 valeurs héxa, pour enfin, pouvoir les convertir en entier!
 
ouèèè!!
 
... mais c bidon comme solution..  


 
je t'ai dit : au lieu de ">> 8" tu fais "/ 256" et ">> 16" remplacé par "/ 65536". C'est quand même moins bidon.


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
n°410509
lorill
Posté le 28-05-2003 à 15:32:35  profilanswer
 

Mr yvele a écrit :


merde... raaaahhhh jsuis un caca boudin!!!!!!!!
c'est bon, ça existe...
>> (décalage droit au niveau du bit)


mon boolay [:jar jar]

n°410514
Mr yvele
yvele n'est plus.
Posté le 28-05-2003 à 15:35:30  profilanswer
 

ouè hé ho c'est bon hein.. ça peux arriver hein..
 
à certains plus qu'a d'autres.. mais bon..  
 [:theorie de nico]
 
 
EDIT: merci les gars quand meme!  :jap:


Message édité par Mr yvele le 28-05-2003 à 15:36:05
n°410518
chrisbk
-
Posté le 28-05-2003 à 15:36:55  profilanswer
 

puisqu'on est a faire les cons dans les bits, Ki ki dit mieux que ca pour faire un alpha-blending 24bits ?
(code un peu plus propre mis de cote)
(MMX interdit :O)
 

Code :
  1. int alphaBlending(int rgb, int rgb2, unsigned char tAlpha)
  2. {
  3. int tmpbr       = (rgb&0xFF00FF);
  4. int tmpg        = (rgb&0xFF00);
  5. int tmp2  = rgb2 & 0xFF00FF;
  6. int tmp3  = ((tmp2 - tmpbr) * tAlpha)>>8;
  7. int br    = tmpbr+tmp3;
  8. br &=0xFF00FF;
  9.                                
  10. tmp2    = (rgb2 & 0xFF00);
  11. tmp3    = ((tmp2 - tmpg) * tAlpha)>>8;
  12. int g   = (tmpg + tmp3)&0xFF00;
  13. br    |= g;
  14. return br;
  15. }


 
me demande si en 16bits y'a pas moy de tout faire en une mult [:meganne]

mood
Publicité
Posté le   profilanswer
 


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

  "Masque" Hexadécimal

 

Sujets relatifs
[ASP.NET] masque de saisie sur un formulaireinputbox et texte masqué (asterisque)??
comment imposer un masque de saisie sur un formulaire input ???Cookies utlisés dans un site masqué par une URL en .fr.st ...
[java]convertir un int decimal en hexa et faire ensuite un masque?Masque pattern/expression régulière exclusivement dans une balise HTML
[SDL] blitting d'apres un masque (résolu)Decimal <-> Hexadecimal
[VB] Comment passer d'un nombre en decimal vers un nombre Hexadecimal?[C/C++] conversion d'un long en héxadécimal
Plus de sujets relatifs à : "Masque" Hexadécimal


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