2013-12-09 2 views
0

Я пытаюсь создать ARGB пиксель, я видел этот пример:Создать ARGB Платт в Android

int createPixel(int r, int g, int b, int a) 
{ 
return (a<<24) | (r<<16) | (g<<8) | (b<<0); 
} 

Для понимания я хотел бы получить ответы на следующие вопросы:

  1. Что я получаю, как результат (возврат)?
  2. Что такое < <?
  3. Если значение каждого цвета равно 255, значит, для RED 16 - 255 и 23 - 0?

ответ

2

<< является двоичным сдвигом влево, это означает, что будет смещаться 24 бита влево, красный 16, ... вы получите как целое число имеет длину 4 байта результат, первый байт является (потому что сдвинут 24 бит (3Bytes) влево), второй байт равен r, третий - g, четвертый b.

результате 0xaarrggbb

Пример входных данных (255,255,0,16) возвращает 0xFFFF000F

0x означает "в шестнадцатеричном формате"

| является побитовое или.

Смежные вопросы