2010-08-27 3 views
1

Je dois convertir la valeur de l'objet NSColor en valeur entière 8 bitscomment changer la valeur de l'objet NSColor dans son 8 bits valeur

code:

uint8_t r = (uint32_t)(MIN(1.0f, MAX(0.0f, [[CWhiteBoardController ReturnFillColor] redComponent])) * 0xff); 

uint8_t g = (uint32_t)(MIN(1.0f, MAX(0.0f, [[CWhiteBoardController ReturnFillColor] greenComponent])) * 0xff); 

uint8_t b = (uint32_t)(MIN(1.0f, MAX(0.0f, [[CWhiteBoardController ReturnFillColor] blueComponent])) * 0xff); 

uint8_t a = (uint32_t)(MIN(1.0f, MAX(0.0f, [[CWhiteBoardController ReturnFillColor] alphaComponent])) * 0xff); 

uint8_t value = (a << 24) | (r<< 16) | (g << 8) | b; 
valeur

que j'ai reçu est 0.

Je ne comprends pas où je me trompe. Donc, n'importe qui m'aider plz.

+0

veuillez formater votre code pour qu'il soit lisible –

+0

est lisible maintenant ?? –

Répondre

1

Je viens de connaître le problème, en fait, je dois écrire

valeur int = (a < < 24) | (r < < 16) | (g < < 8) | b; à la place de uint8_t value = (a < < 24) | (r < < 16) | (g < < 8) | b;

Questions connexes