在android中获取位图像素数组的最佳方法是什么?

时间:2013-10-24 22:10:00

标签: android arrays image-processing bitmap

我是Android的新手,需要处理一个位图,通过仅收集黑色像素,即R = 0,G = 0和B = 0,将像素信息提取到多维数组中。我注意到有一个GetPixel(x, y)方法显然很慢,我需要this之类的东西。但是我迷失了如何使用GetPixels()中的信息实现更好的GetPixel(x, y)方法。我正在尝试这样的事情:

private static int[][] GetPixels(Bitmap bmp)
{
    int height = bmp.getHeight();
    int width = bmp.getWidth();
    int length = width * height;
    int[] pixels = new int[length];
    bmp.getPixels(pixels, 0, 0, 0, 0, width, height);
    int[][]result = new int[width][height];
    for(int pixel = 0, x = 0, y = 0; pixel < pixels.length; pixel += 4)
    {
        int argb = pixels[pixel];//how to access pixel information?
        result[x][y] = argb;//store only black pixels??
        x++;
        if(y == width)
        {
            x = 0;
            y++;
        }
    }
    return result;
}

0 个答案:

没有答案