code: public static void premultiply(int[] p, int offset, int length) {
  		length += offset;
  		for (int i = offset; i < length; i++) {
  			int rgb = p[i];
  			int a = (rgb >> 24) & 0xff;
  			int r = (rgb >> 16) & 0xff;
  			int g = (rgb >> 8) & 0xff;
  			int b = rgb & 0xff;
  			float f = a * (1.0f / 255.0f);
  			r *= f;
  			g *= f;
  			b *= f;
  			p[i] = (a << 24) | (r << 16) | (g << 8) | b;
  		}
  	}
docs: Premultiply a block of pixels
  
  @param p pixels
  @param offset the offset
  @param length the length