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

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



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