コンストラクターを使用していると仮定しています。PixelGrabber(ImageProducer ip, int x, int y, int w, int h, int[] pix, int off, int scansize)
この場合、返されるのは各ピクセルの RGB 値の整数配列です。
RGB 値として返されるため、値を分離して真の RGB 値を得る必要があります。たとえば、RGB(255,255,255) は白で、RGB(0,0,0) は黒です。API リファレンスは、これを適切に行う方法の良い例を示しています。あなたの質問の-16777216
数字を使用して、実際に黒であることを示す簡単なテストを実行しました。
public class Main {
public static void main(String[] args) {
int pixel = -16777216;
int alpha = (pixel >> 24) & 0xff;
int red = (pixel >> 16) & 0xff;
int green = (pixel >> 8) & 0xff;
int blue = (pixel ) & 0xff;
System.out.println(alpha);
System.out.println(red);
System.out.println(green);
System.out.println(blue);
}
}
出力: 255, 0, 0, 0
ピクセル データを正しく処理する方法のサンプル コードについては、上記のリンクにある API リファレンスに従ってください。