-
Message publié le vendredi 30 avril 2010 - 15h49 par waterreedshimmer.
-
Bonjour,
Je fais des cours par correspondance dont j'ai dû mal à comprendre comment la réponse du corrigé a été obtenue.
Si vous pouviez m'expliquiez comment on calcule le code hexadécimal des couleurs quand on veut faire varier un pourcentage d'une couleur ? Il s'agit d'un exercice sur la couleur rouge où il faut mettre toutes les nuances de rouge de 10 en 10%. J'aimerais avoir une explication explicite et pas abstraite, je ne comprends pas du tout le 256*.1 ??? ça signifie quoi ? C'est quoi le sens ? Comment penser ? Et c'est quoi la relation entre 25.6 et 1A ?
Exercice sur les couleurs:
#rrvvbb r= rouge, v= vert, b= bleu. Chacune des 3 couleurs a 256 nuances. Et 256 -> 2 chiffres.
#000000 = noir jusqu'à #FFFFFF = blanc
On s'intéresse aux valeurs du rouge rr ( #rrvvbb) de 0 à 100%.
#000000
#1A0000
?? 256*.1=25.6=#1A
Corrigé (code source sans l'HTML):
0%: font color="#000000"
10% : 256*.1=25.6=#1A font color="#1A0000"
20% : 256*.2 =51.2 = #33 font color="#330000"
30% : 256*.3 =76.8 = #4D font color="#4D0000"
40% : 256*.4 =102.4 = #66 font color="#660000"
50% : 256*.5 =128 = #80 font color="#800000"
60% : 256*.6 =153.6 = #9A font color="#9A0000"
70% : 256*.7 =179.2 = #B3 font color="#B30000"
80% : 256*.8 =204.8 = #CD font color="#CD0000"
0% : 256*.9 =230.4 = #E6 font color="#E60000"
le maximum font color="#FF0000"
-
Message publié le vendredi 30 avril 2010 - 17h53 par pchlj. www.dragon-gift.com - Cherche boulot région le mans :)
-
salut
déjà moi là je vois pas le rapport entre ce dont tu parles et le binaire.. là t'es dans l'hexa ;)
bon après...
256*.1 = 25.6 bah oui c'est logique c'est juste mathématique... en clair ça fait 256 * 0.1 = 25.6 là tu dois mieux comprendre déjà
ensuite faut savoir que le code hexadecimal.. celui qui donne 1A correspond à des valeurs d'entier normale
0 = 00
1 = 01 etc sauf que 10 = 0a puis comme ça jusqu'à E et après on attaque 11 12 13 14 etc jusqu'à 1A
et en fait 25 = 19 et 26 = 1A on suppose donc qu'on prend l'entier correspondant à la règle d'arrondi (0 à 0.4 entier inférieur et 0.5 à 0.9 entier supérieur) donc pour 25.6 ... 26
pour 51.2 on prend 51 = 33
76.8 donc 77 = 4D
etc... bref voici un lien vers une page te donnant un tableau des correspondances pour mieux comprendre..
[url=
http://www.commentcamarche.net/contents/base/ascii.php3] [url]http://www.commentcamarche.net/contents/base/ascii.php3 [/URL]
-
Message publié le vendredi 30 avril 2010 - 17h57 par Force4. Les oiseaux ont des ailes pour voler, et moi j'ai un coeur pour aimer. ♥
-
Bonjour,
Je vais essayer de répondre à tes questions dans l'ordre.
Chacune des trois couleurs est codée sur 1 octet, donc 8 bits.
Dans un premier temps on peut redémontrer le nombre de valeurs que ces 8 bits nous permettent de stocker :
1 bit permet de stocker 2 valeurs différentes (2 puissance 1),
2 bits permettent de stocker 4 valeurs différentes (2 puissance 2),
...
8 bits permettent de stocker 2 puissance 8, soit 256 valeurs différentes. C'est à dire, finalement, un nombre entre 0 et 255 compris.
Ce nombre, entre 0 et 255, on peut le représenter de plein de manières différentes. On peut le représenter en décimal, en binaire, en héxadécimal... de façon générale dans n'importe quelle base numérique quelconque.
Par exemple, je prends les nombres 26, 128, et 255 ; représentés respectivemment en décimal, binaire puis hexidécimal, on a :
026 = 00011010 = 1A
128 = 10000000 = 80
255 = 11111111 = FF
Maintenant qu'on sait tout cela, on peut résoudre ton problème. Faisons cela d'abord en décimal !
On cherche 10% de 256, en décimal, facile 25.6 (on a fait l'opération de ton professeur : 256 multiplié par 0.1) ! On traite qu'avec des nombres entiers, donc ton professeur a légitimement arrondi au nombre 26 de façon implicite.
Comme la division est un peu plus compliquée à faire en hexdécimal, on va tout simplement chercher à convertir de la base 10 à 16 le nombre 26. Avec un peu de pratique, tu trouveras vite la réponse de tête, qui est 1A.
Pour le vérifier tu peux traduire chaque nombre de la base 10 à la base 16 en partant de 0 jusqu'à 26 :
Décimal = Hexadécimal
0 = 00
1 = 01
2 = 02
3 = 03
4 = 04
5 = 05
6 = 06
7 = 07
8 = 08
9 = 09
10 = 0A
11 = 0B
12 = 0C
13 = 0D
14 = 0E
15 = 0F
16 = 10
17 = 11
18 = 12
19 = 13
20 = 14
21 = 15
22 = 16
23 = 17
24 = 18
25 = 19
26 = 1A
Cordialement,