Я не эксперт, но для меня похоже, что вы получаете шестнадцатеричное значение. Возможно, вам нужно что-то большее понятно как значение каждого слоя RGB.
Для распаковывать Пиксель в его RGB значения, которые вы должны сделать что-то вроде:
private short[][] red;
private short[][] green;
private short[][] blue;
/**
* Map each intensity of an RGB colour into its respective colour channel
*/
private void unpackPixel(int pixel, int row, int col) {
red[row][col] = (short) ((pixel >> 16) & 0xFF);
green[row][col] = (short) ((pixel >> 8) & 0xFF);
blue[row][col] = (short) ((pixel >> 0) & 0xFF);
}
И после того, как изменения в каждом канале вы можете пакет пиксель обратно.
/**
* Create an RGB colour pixel.
*/
private int packPixel(int red, int green, int blue) {
return (red << 16) | (green << 8) | blue;
}
Извините, если это не то, что вы ищете.