code: public static int[] getRGB( BufferedImage image, int x, int y, int width, int height, int[] pixels ) {
  		int type = image.getType();
  		if ( type == BufferedImage.TYPE_INT_ARGB || type == BufferedImage.TYPE_INT_RGB )
  			return (int [])image.getRaster().getDataElements( x, y, width, height, pixels );
  		return image.getRGB( x, y, width, height, pixels, 0, width );
      }
docs: A convenience method for getting ARGB pixels from an image. This tries to avoid the performance
  penalty of BufferedImage.getRGB unmanaging the image.
  @param image   a BufferedImage object
  @param x       the left edge of the pixel block
  @param y       the right edge of the pixel block
  @param width   the width of the pixel arry
  @param height  the height of the pixel arry
  @param pixels  the array to hold the returned pixels. May be null.
  @return the pixels
  @see #setRGB