chrisbk a écrit :
repiquer betement les entetes de fonction de ses petits camarades sans prendre le tps de les adapter, c'est mal
|
Code :
- typedef struct _SPixel565 {
- unsigned B : 5;
- unsigned G : 6;
- unsigned R : 5;
- } SPixel565;
- typedef struct _SPixel888 {
- unsigned short B;
- unsigned short G;
- unsigned short R;
- } SPixel888;
- unsigned int convert(SPixel565)
- {
- SPixel888 dst;
- dst.R = src.R<<3;
- dst.G = src.G<<2;
- dst.B = src.B<<3;
- return dst;
- }
|
Si tu préfères ... L'avantage, c'est que ca restait transparent pour l'utilisateur de la fct ... (utilité assez réduite, je l'accorde, mais ca évite de caster à chaque appel si il n'utilise pas des images faites à base de SPixel565, ce qui ne m'étonnerait guère ...
)
Edit : Je précis que dans mon post précédent, je voulais surtout mettre l'accent sur la perte de précision : pour chaque couleur, 0 devient 0, ... normal, quoi, mais 11111 deviendra 11111000(0xF8) au lieu de 11111111 (0xFF) pour le R et le B
(un peu mieux pour le G, mais c'est pas encore le top) Donc si vous trouvez une solution performante pour éviter ce problème, je suis intéressé
Message édité par theShockWave le 22-05-2003 à 13:43:46
---------------
last.fm