Я использую следующий код, чтобы получить значения R, G, B для изображения в градациях серого (все они будут одинаковыми). Но на выходе я получаю отрицательные значения.
Почему это так? Я совершенно сбит с толку.
for (int i=0;i<bb.getWidth();i++){
for (int j=0;j<bb.getHeight();j++){
long temp=bb.getPixel(i, j);
int a=(int)temp;
ByteBuffer b = ByteBuffer.allocate(4);
b.putInt(a );
byte[] result = b.array();
Log.d("gray value is=", String.valueOf((int)result[1]));
// Log.d("gray value is=", String.valueOf(getLastBytes(a)));
}
}
Здесь результат[1] должен соответствовать значению 'R'. Так как же это отрицательно?