Afficher les 216 couleurs sécurisées pour le Web

Une couleur peut être définie en fonction des différentes quantités de rouge, de vert et de bleu qui la composent. Chacune de ces quantités étant définie sur une échelle de 0 à 255 soit 0x00 à 0xFF, il est possible d'obtenir 256 x 256 x 256 = 16.777.216 combinaisons différentes. Mais les cartes graphiques utilisées au début du Web étaient souvent des cartes 8 bits limitées à 256 couleurs. Dans ce cas, combien de valeurs différentes de rouge, de vert et de bleu pouvait-on combiner ? La réponse est simple : racine cubique de 256, soit 6.3 que l'on arrondit à 6. En élevant ce nombre au cube, on obtient 6 x 6 x 6 = 216 combinaisons possibles de rouge, de vert et de bleu. Mais quelles valeurs allons-nous choisir pour chaque couleur? Répartissons uniformément ces 6 valeurs entre 0 et 255 : on obtient 0, 51, 102, 153, 204, 255, soit en hexadécimal 00, 33, 66, 99, CC, FF.

La fonction mfWSC() ci-dessous utilise trois boucles imbriquées pour calculer les 216 combinaisons et afficher les couleurs correspondantes.

<script type="text/javascript">
function mfToHex(n)
{
hex = n.toString(16) ;
if (hex.length == 1) {
hex = '0' + hex ;
}
return hex ;
}

function mfWSC()
{
document.write('<table style="width:50%;">') ;
for (var Rouge = 0; Rouge <= 0xFF; Rouge+=0x33){
for (var Vert = 0; Vert <= 0xFF; Vert+=0x33){
for (var Bleu = 0; Bleu <= 0xFF; Bleu+=0x33) {
var qteRouge = mfToHex(Rouge) ;
var qteVert = mfToHex(Vert) ;
var qteBleu = mfToHex(Bleu) ;
var couleurFond = "#" + qteRouge + qteVert + qteBleu ;
document.write('<tr>') ;
document.write('<td style="background-color:' + couleurFond + ';">' + couleurFond + '');
document.write('</tr>') ;
}
}
}
document.write('</table>') ;
} </script>
Exercice 1 : répartir les couleurs en 6 tableaux de 36 couleurs chacun.
Exercice 2 : répartir les couleurs en 36 palettes de 6 couleurs