将RGB矩阵保存到android中的数组2D

时间:2013-11-15 09:10:13

标签: android arrays rgb

我想获取图像的rgb的每个值并将值保存到2D数组。数组应该是这样的。

int [] [] rgb = {{r,g,b},                    {r,g,b},                     ....                  }

这是我的代码

public int[][] extractImg(Bitmap photo) {
         //define the array size  
        int [][] rgb = new int[photo.getWidth()][photo.getHeight()];

        for(int i=0; i < photo.getWidth(); i++)  
        {  
            for(int j=0; j < photo.getHeight(); j++)  
            {  
                //get the RGB value from each pixel and store it into the array 
                 Color c = new Color(photo.getPixel(i, j), true);
                rgb[i][j] = { c.getRed(), c.getGreen, c.getBlue};  
            } 
        }  

        return rgb;
    }

我收到错误消息“数组常量只能用于初始值设定项”。有没有办法将rgb矩阵保存到数组?

1 个答案:

答案 0 :(得分:0)

您不能使用以下内容为数组赋值:

rgb[i][j] = { c.getRed(), c.getGreen, c.getBlue}; 

除了语法不正确之外,你还忘记了getGreen和getBlue颜色函数的大括号()。数组不会以您指定的方式存储rgb值。如果您存储了一组Color值,如下所示:

public Color[][] extractImg(Bitmap photo) {
     //define the array size  
    Color [][] rgb = new Color[photo.getWidth()][photo.getHeight()];

    for(int i=0; i < photo.getWidth(); i++)  
    {  
        for(int j=0; j < photo.getHeight(); j++)  
        {  
            //get the RGB value from each pixel and store it into the array as Color
            rgb[i][j] = new Color(photo.getPixel(i, j), true);   
        } 
    }  

    return rgb;
}