[Tech] Dubbio di programmazione
Christopher R. Gabriel
cgabriel@softwarelibero.org
Sab 4 Nov 2000 22:11:43 CET
Non essendo un programmatore "arcore" come giannibi o altri, ho questo
dubbio.
Ho 4 quattro valori a 8 bit che descrivono un colore, e devo
trasformarli in un uint a 32 in esadecimale, tipo:
red 255
green 255
blue 255
alpha 255
e mi viene fuori un '0xffffffff'
attualmente uso questa macro:
#define GIVE_ME_THE_COLOR_WITH_ALPHA_YOU_BASTARD (r, g, b, a) ((((int) (r) & 0xff) << 24) \
| (((int) (g) & 0xff) << 16) \
| (((int) (b) & 0xff) << 8) \
| ((int) (a) & 0xff))
la quale pero' non sembra fare il suo lavoro (colori sbagliati, e di brutto).
Il cast a int lo faccio poiche' i valori che passo alla macro sono per
forza di cose degli uint.
Avete qualche idea?
--
Christopher R. Gabriel
http://www.linux.it/~cgabriel/
Maggiori informazioni sulla lista
flug-tech