Android 图像处理-像素


Android中使用ARGB颜色值,这个值是int型

Bitmap bitmap = ...;
int pixel =  bitmap.getPixel(10,10);// 获得10,10处的颜色值
int alpha = (pixel & 0xff000000) >> 24;  //取高两位
int red   = (pixel & 0x00ff0000) >> 16;  
int green = (pixel & 0x0000ff00) >> 8; 
int blue  =  pixel & 0x000000ff; 
System.out.println("a="+alpha+",r="+red+",g="+green+",b="+blue);

// 保存所有的像素的数组,图片宽×高
int[] pixels = new int[bitmap.getWidth()*bitmap.getHeight()];
bitmap.getPixels(pixels,0,bitmap.getWidth(),0,0,bitmap.getWidth(),bitmap.getHeight());
for(int i = 0; i < pixels.length; i++) {
    int pixel = pixels[i];
    //...
}