Cette partie a pour but de vous faire totalement comprendre comment marche cette bibliothèque car il n'est pas toujours facile de se faire une idée du fonctionnement, j'ai pris ici la photo d'un chalet en 240*128 et huit tons de gris :

Et voici ce que nous sauvegardons dans le buffer écran habituel, là aussi j'ai volontairement grisé les pixels armés :

Voici ce que nous sauvegardons dans le premier buffer écran créé par la fonction on, attention j'ai volontairement grisé les pixels armés :

Voici ce que nous sauvegardons dans le deuxième buffer mémoire écran créé par la fonction on, attention j'ai volontairement grisé les pixels armés :

Pour obtenir l'image finale, imaginez tout d'abord que la valeur des pixels du premier écran sont les bits 2 d'octets fictifs donc ont comme valeur 0 ou 4, imaginez ensuite que la valeur des pixels du deuxième écran sont les bits 1 des mêmes octets donc ont comme valeur 0 ou 2, puis imaginez que la valeur des pixels du troisième écran sont les bits 2 des mêmes octets fictifs donc ont comme valeur 0 ou 1.
Pour savoir quelle est la valeur d'un pixel de l'écran final, il faut ajouter la valeur des trois pixels des trois écrans.
Pour vous en convaincre définitivement, utilisez Paint Shop Pro et additionnez les trois écran précédents avec la commande
Image/Arithmetic/Function:Darkest
Enfin en sachant que la couleur blanche vaut 0, le gris très clair vaut 1, le gris clair vaut 2, le gris vaut 3, le gris peu foncé vaut 4, le gris foncé vaut 5, le gris très foncé vaut 6 et que le noir vaut 7, nous pouvons exprimer toute notre explication par le mot fictif d'on nous avons parlé :
Pour avoir la couleur blanche |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| | | | | 0 | 0 | 0 |
Pour avoir la couleur grise très claire |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| | | | | 0 | 0 | 1 |
Pour avoir la couleur grise clair |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| | | | | 0 | 1 | 0 |
Pour avoir la couleur grise |
7 | 6 | 5 | 4 | 3 | 2 | 1 | |
| | | | | 0 | 1 | 1 |
Pour avoir la couleur grise peu foncée |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| | | | | 1 | 0 | 0 |
Pour avoir la couleur grise foncée |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| | | | | 1 | 0 | 1 |
Pour avoir la couleur grise très foncée |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| | | | | 1 | 1 | 0 |
Pour avoir la couleur noire |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| |
| | | 1 | 1 | 1 |
Pour terminer, additionnons trois mots qui seraient au même endroit respectivement dans la mémoire vidéo et des écrans créés par la fonction on et cherchons les couleurs finales :
Octet au hasard de l'écran principal |
7 | 6 |
5 | 4 |
3 | 2 |
1 | 0 |
1*2^2=4 |
1*2^2=4 |
0*2^2=0 |
0*2^2=0 |
1*2^2=4 |
1*2^2=4 |
0*2^2=0 |
0*2^2=0 |
Octet équivalent du premier écran créé |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
1*2^1=2 |
0*2^1=0 |
1*2^1=2 |
1*2^1=2 |
1*2^1=2 |
0*2^1=0 | 0*2^1=0 |
0*2^1=0 |
Octet équivalent du deuxième écran créé |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0*2^0=0 | 0*2^0=0 | 1*2^0=1 | 0*2^0=0 |
1*2^0=1 | 1*2^0=1 | 0*2^0=0 | 0*2^0=0 |
Couleurs de l'image final / addition |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
4+2+0=6 |
4+0+0=4 |
0+2+1=3 |
0+2+0=2 |
4+2+1=7 |
4+1+0=5 |
0+0+0=0 |
0+0+0=0 |
|