[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linux] Re: Manipuler un bit en c



j'ai pigé ça avec la doc de la SDL trouvée sur le site www.libsdl.org
à par ça il y a www.programmersheaven.com et google

Benoît Barbier wrote:

On Fri, 15 Mar 2002 19:48:05 +0100
Thomas Silvestre <silvestre@skynet.be> wrote:

ce type d'opération est très utile en programmation graphique(manipulation de pixels).

Par exemple avec la SDL les pixels d'une image sont stoqués dans un tableau
à une dimension, si cette image est codée en 16bit, chaque pixel sera un Uint16 (pas de pixel négatif bien entendu). Dans ces 16 bits, il faut répartir les 3 couleurs de base rgb. Mais 16/3= 5.333... d'où le rouge est codé sur 5bits, le verts sur 6 et le bleu sur 5.

Dans ce cas comment récupérer la couleur verte du pixel n?
Il faut récupérer la valeur du pixel n (un Uint16 donc), masquer le rouge et le bleu (mettre des 0 à la place quoi) et décaler le résultat de 5 bits vers la droite.

g = ( mon_pixel & 0x00000FFFFFF00000 )>>5;

comme d'hab hein, si je dis des bêtises, vous le dites.

Mois je trouves ça super, toutes ces explications m'on baucoup aidé à diriger ma recherche de documentation, mais quelques petits url....
pour complément d'info, je ne dirais pas non. :-)

Merci Benoît _______________________________________________
Linux Mailing List
Archives: http://unixtech.be/mailman/listinfo/linux


_______________________________________________
Linux Mailing List
Archives: http://unixtech.be/mailman/listinfo/linux