in the end i used this...
class mikes extends Object {
public static boolean handlesinglepixel(int x, int y, int pixel,Color c) {
int alpha = (pixel >> 24) & 0xff;
int red = (pixel >> 16) & 0xff;
int green = (pixel >> 8) & 0xff;
int blue = (pixel ) & 0xff;
int blue2,red2,green2;
//System.out.println(red+"|"+green+"|"+blue);
red2 = c.getRed();
green2 =c.getGreen();
blue2 = c.getBlue();
if (((red==255)&&(green==255)&&(blue==255)) || ((red==0)&&(green==0)&&(blue==0)) || ((red==red2)&&(green==green2)&&(blue==blue2)) )
return true;
else return false;
}
public static boolean handlepixels(Image img, int x, int y, int w, int h,Color c) {
int[] pixels = new int[w * h];
PixelGrabber pg = new PixelGrabber(img, x, y, w, h, pixels, 0, w);
try {
pg.grabPixels();
} catch (InterruptedException e) {
System.err.println("interrupted waiting for pixels!");
return false;
}/*
if ((pg.getStatus() & ImageObserver.ABORT) != 0) {
System.err.println("image fetch aborted or errored");
return;
}*/
boolean white = true;
for (int j = 0; j < h; j++) {
for (int i = 0; i < w; i++) {
if (white) white = handlesinglepixel(x+i, y+j, pixels[j * w + i],c);
}
}
return white;
}
}
thanks to all for replying.