3

私は Android を初めて使用するので、ビットマップを処理して、黒いピクセルのみを収集してピクセル情報を多次元配列に抽出する必要があります。つまり、R = 0、G = 0、および B = 0 です。GetPixel(x, y)メソッドがあることに気付きました。明らかに遅いので、代わりにこのようなものが必要です。しかしGetPixel(x, y)、GetPixels() からの情報を使用してより良いメソッドを実装する方法がわかりません。私は現在、このようなことを試みています:

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;
}
4

0 に答える 0