Я пытаюсь понять упаковку цветных байтов для формата ARGB_8888.
В документации указано, что упаковка должна производиться по следующей формуле:
int color = (A & 0xff) << 24 | (B & 0xff) << 16 | (G & 0xff) << 8 | (R & 0xff);
Но не должно быть:
int color = (A & 0xff) << 24 | (R & 0xff) << 16 | (G & 0xff) << 8 | (B & 0xff);
Когда я распаковываю образец пикселя из цветовой битовой карты ARGB_8888 со всеми красными пикселями, я использую:
final int r = (p >> 16) & 0xff;
final int g = (p >> 8) & 0xff;
final int b = p & 0xff;
Который действительно возвращает мне правильные значения для каждого цвета.
Суть в том, что документация неправильная или я что-то упустил?