Bon trêve de bavardage!

Alors j'ai suivit le tuto, et en mauvais matheux, je me posait les questions suivant :
Comment convertir une valeur R ou G ou B de 0 à 255 (les valeurs que l'on récupère les plus facilement avec un logiciel de dessin) en valeur de bit de 0 à 31?

C'est un peu compliqué pour moi tout ca (surtout avec ce déplacement de bit

)
Enfin ce que je voudrait par contre, c'est ne pas toucher au blanc, modifier deux-trois couleur de mon image (les traits).
Le problème c'est que je connais que les valeurs de type 0 à 255 des couleurs que je souhaite modifier... Ça devrait pas être compliqué...
En gros je veux qu'une couleur grise devienne noir pendant une demie seconde, et qu'une couleur noir deviennent grise... (mais bon j'ai un gris de valeur R=223, V=218, et B=223

)
Je sais, je sais, faut tout m'expliquer, mais bon, j'ai un cerveau aussi puissant que le moteur d'une deudeuch'