android利用BitMap获得图片的像素数据

网上看到的参考是:

int[] pixels = new int[bit.getWidth()*bit.getHeight()];//保存所有的像素的数组,图片宽×高

         bit.getPixels(pixels,0,bit.getWidth(),0,0,bit.getWidth(),bit.getHeight());
         for(int i = 0; i < pixels.length; i++){
             int clr = pixels[i];
                int  red   = (clr & 0x00ff0000) >> 16;  //取高两位
                int  green = (clr & 0x0000ff00) >> 8; //取中两位
                int  blue  =  clr & 0x000000ff; //取低两位
                System.out.println("r="+red+",g="+green+",b="+blue);

         }

其中getPixels中第三个参数要为图片的宽度


实际上有个更好的函数是

Bitmap bm = "得到bitmap图片"

bm.getPixels(x,y);

直接获得x,y坐标处的像素点数据。

你可能感兴趣的:(Android)