MouLeT
Messages postés90Date d'inscriptionsamedi 11 octobre 2003StatutMembreDernière intervention27 juillet 2009
-
26 mai 2004 à 14:24
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 2008
-
22 oct. 2007 à 14:04
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200824 22 oct. 2007 à 14:04
phimselfbis> Javascript n'a pas besoin de tout çà pour convertir de l'hexadécimal en décimal. Imagine un peu ton tableau si tu dois utiliser des nombres supérieurs à 255 !
parseInt(nombre,16) le fait tout seul si 'nombre' est une représentation hexadécimale.
Mais là, on s'éloigne franchement de VB.
C'est avec les masques que c'est le plus pratique. Et comme la plupart des langages savent utiliser les opérateurs binaires, la compatibilité devrait être assurée.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 22 oct. 2007 à 13:16
une solution simple, peut etre, mais a proscrire...
phimselfbis
Messages postés3Date d'inscriptionmardi 28 janvier 2003StatutMembreDernière intervention27 juillet 2007 22 oct. 2007 à 12:42
J'ai fait une erreur de frappe.
Dans le deuxième cas, ce n'est pas
"Pour connaître la correspondance RGB de 125, il faut faire utiliser une fonction."
mais
"Pour connaître la correspondance RGB de AC, il faut faire utiliser une fonction."
phimselfbis
Messages postés3Date d'inscriptionmardi 28 janvier 2003StatutMembreDernière intervention27 juillet 2007 22 oct. 2007 à 12:36
Bonjour,
étant peu penché sur les mathématiques,
voici une solution simple et qui fonctionne en JavaScript, en ASP ou en PHP.
Je vous donne le code pour JavaScript, à savoir un tableau !
Pour connaître la valeur Hexa de 125, tapez alert(couleurs_hexa[125]).
Pour connaître la correspondance RGB de 125, il faut faire utiliser une fonction.
function get_rgb( champ )
{
for (i=0; i<=255; i++) { if (couleurs_hexa[i] == champ) { alert (i); exit(); } }
}
get_rgb('AC')
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 16 févr. 2007 à 09:32
je me demande bien par quel biais...
Function QBColor(Color As Integer) As Long
Membre de VBA.Information
Renvoie le code couleur RVB pour le numéro de couleur spécifié dans une liste de couleurs standards prédéfinies
Bono_BX
Messages postés2Date d'inscriptionmercredi 8 novembre 2006StatutMembreDernière intervention 7 novembre 2007 16 févr. 2007 à 09:24
Mais l'instruction QBColor ne fait-elle pas déjà cela ?
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 20119 27 oct. 2004 à 15:54
C'est pas très clair ce que vous écrivez les gars!
J'essaye de recomposer une couleur en masque binaire mais j'y arrive pas.
RGB jusque là je suis, ensuite, vous dites
R = Color and &HFF
Color c'est quoi? c'est égal à quoi?
And? c'est quoi, ça veut dire quoi?
Pourrais-je avoir un exemple concret.
Je sais pas par exemple
R=255 V=0 B=0 en &H ça donne quoi?
Merci de m'aider
Vb Lover
Messages postés221Date d'inscriptionvendredi 30 novembre 2001StatutMembreDernière intervention13 février 20105 1 juin 2004 à 20:44
Ah ça fait plaisir Warny que quelqu'un utilise des masquages binaires.
Mais je suis quand même obligé de mettre aussi mon code, même s'il n'est pas mieux :
R = Color And &HFF
G = (Color \ 256) And &HFF
B = (Color \ 256) \ 256
cs_Warny
Messages postés473Date d'inscriptionmercredi 7 août 2002StatutMembreDernière intervention10 juin 2015 28 mai 2004 à 09:23
Oups, le système gère maintenant les Il faut donc lire :
Alpha = (Color And &hFF000000 ) \ &H1000000
Red = ( Color And &hFF0000 ) \ &H10000
Green = ( Color And &hFF00 ) \ &H100
Blue = (Color And &HFF ) ' \ &H1 est inutile donc je le commente
cs_Warny
Messages postés473Date d'inscriptionmercredi 7 août 2002StatutMembreDernière intervention10 juin 2015 28 mai 2004 à 09:22
Pour ne pas faire de calcul de reste il faut faire ça :
Alpha = (Color And &hFF000000 ) \\ &H1000000
Red = ( Color And &hFF0000 ) \\ &H10000
Green = ( Color And &hFF00 ) \\ &H100
Blue = (Color And &HFF ) ' \\ &H1 est inutile donc je le commente
Dans ma source j'utilise la division entière donc je n'ai pas de conversion implicite vers des "double"
Plutôt que d'avoir un reste, j'utilise un masquage binaire qui est infiniment plus efficace.
Chaque couleur peut-être extraite séparement
J'extrait le canal alpha de la couleur qui dans un contrôle permet de savoir qui on doit utiliser une couleur système ou non, ou qui permet de gérer la transparence, la profondeur...
Et par pitié, elimine de ton code cette abération : "Goto"
Replace le par exemple par : "exit sub"
MouLeT
Messages postés90Date d'inscriptionsamedi 11 octobre 2003StatutMembreDernière intervention27 juillet 2009 27 mai 2004 à 13:26
C'est exactement les même calcules sauf que cher la mienne il y a pas de calcule du reste ,et comme ca on peu savoir un RGB précisement sans fair tout un calcul ,par exemple si je voulais juste prendre la couler verte de ferai
"Int((Couleurs - (Int(Couleurs / 65536) * 65536)) / 256)"
au lieu de fair tout ce keu ta fait :)
22 oct. 2007 à 14:04
parseInt(nombre,16) le fait tout seul si 'nombre' est une représentation hexadécimale.
Mais là, on s'éloigne franchement de VB.
C'est avec les masques que c'est le plus pratique. Et comme la plupart des langages savent utiliser les opérateurs binaires, la compatibilité devrait être assurée.
22 oct. 2007 à 13:16
22 oct. 2007 à 12:42
Dans le deuxième cas, ce n'est pas
"Pour connaître la correspondance RGB de 125, il faut faire utiliser une fonction."
mais
"Pour connaître la correspondance RGB de AC, il faut faire utiliser une fonction."
22 oct. 2007 à 12:36
étant peu penché sur les mathématiques,
voici une solution simple et qui fonctionne en JavaScript, en ASP ou en PHP.
Je vous donne le code pour JavaScript, à savoir un tableau !
couleurs_hexa = new Array("00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "0A", "0B", "0C", "0D", "0E", "0F", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "1A", "1B", "1C", "1D", "1E", "1F", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "2A", "2B", "2C", "2D", "2E", "2F", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "3A", "3B", "3C", "3D", "3E", "3F", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "4A", "4B", "4C", "4D", "4E", "4F", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "5A", "5B", "5C", "5D", "5E", "5F", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "6A", "6B", "6C", "6D", "6E", "6F", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "7A", "7B", "7C", "7D", "7E", "7F", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "8A", "8B", "8C", "8D", "8E", "8F", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "9A", "9B", "9C", "9D", "9E", "9F", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", "AA", "AB", "AC", "AD", "AE", "AF", "B0", "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "BA", "BB", "BC", "BD", "BE", "BF", "C0", "C1", "C2", "C3", "C4", "C5", "C6", "C7", "C8", "C9", "CA", "CB", "CC", "CD", "CE", "CF", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", "D8", "D9", "DA", "DB", "DC", "DD", "DE", "DF", "E0", "E1", "E2", "E3", "E4", "E5", "E6", "E7", "E8", "E9", "EA", "EB", "EC", "ED", "EE", "EF", "F0", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "FA", "FB", "FC", "FD", "FE", "FF");
Pour connaître la valeur Hexa de 125, tapez alert(couleurs_hexa[125]).
Pour connaître la correspondance RGB de 125, il faut faire utiliser une fonction.
function get_rgb( champ )
{
for (i=0; i<=255; i++) { if (couleurs_hexa[i] == champ) { alert (i); exit(); } }
}
get_rgb('AC')
16 févr. 2007 à 09:32
Function QBColor(Color As Integer) As Long
Membre de VBA.Information
Renvoie le code couleur RVB pour le numéro de couleur spécifié dans une liste de couleurs standards prédéfinies
16 févr. 2007 à 09:24
27 oct. 2004 à 15:54
J'essaye de recomposer une couleur en masque binaire mais j'y arrive pas.
RGB jusque là je suis, ensuite, vous dites
R = Color and &HFF
Color c'est quoi? c'est égal à quoi?
And? c'est quoi, ça veut dire quoi?
Pourrais-je avoir un exemple concret.
Je sais pas par exemple
R=255 V=0 B=0 en &H ça donne quoi?
Merci de m'aider
1 juin 2004 à 20:44
Mais je suis quand même obligé de mettre aussi mon code, même s'il n'est pas mieux :
R = Color And &HFF
G = (Color \ 256) And &HFF
B = (Color \ 256) \ 256
28 mai 2004 à 09:23
Alpha = (Color And &hFF000000 ) \ &H1000000
Red = ( Color And &hFF0000 ) \ &H10000
Green = ( Color And &hFF00 ) \ &H100
Blue = (Color And &HFF ) ' \ &H1 est inutile donc je le commente
28 mai 2004 à 09:22
Alpha = (Color And &hFF000000 ) \\ &H1000000
Red = ( Color And &hFF0000 ) \\ &H10000
Green = ( Color And &hFF00 ) \\ &H100
Blue = (Color And &HFF ) ' \\ &H1 est inutile donc je le commente
Dans ma source j'utilise la division entière donc je n'ai pas de conversion implicite vers des "double"
Plutôt que d'avoir un reste, j'utilise un masquage binaire qui est infiniment plus efficace.
Chaque couleur peut-être extraite séparement
J'extrait le canal alpha de la couleur qui dans un contrôle permet de savoir qui on doit utiliser une couleur système ou non, ou qui permet de gérer la transparence, la profondeur...
Et par pitié, elimine de ton code cette abération : "Goto"
Replace le par exemple par : "exit sub"
27 mai 2004 à 13:26
"Int((Couleurs - (Int(Couleurs / 65536) * 65536)) / 256)"
au lieu de fair tout ce keu ta fait :)
27 mai 2004 à 02:39
Là je l'ai réutilisée pour une activité du BTS.
Sub Retrouve_RGB(ByVal Couleur, ByRef Composante_Rouge, ByRef Composante_Verte, ByRef Composante_Bleu)
Dim Reste As Long
'bleu
Composante_Bleu = Int(Couleur / 65536)
Reste = Couleur - Composante_Bleu * 256 * 256
'vert
Composante_Verte = Int(Reste / 256)
Reste = Reste - Composante_Verte * 256
'rouge
Composante_Rouge = Reste
End Sub
26 mai 2004 à 14:41
8/10
26 mai 2004 à 14:24
Mais j'ai cherché et j'ai pas trouvé donc voilà je la poste .
Elle est surtout mathématique .