白色和黑色图像到2D数组和一些操作后的2D数组到Java中的图像

时间:2016-05-17 17:56:59

标签: java arrays image

我想将图像转换为2D数组,对其进行一些操作然后再将已更改的2D数组转换为图像。我花了很多时间在搜索解决方案,但其中任何一个都是正确的。互联网上没有这个问题的好答案。请告诉我,我错了。

3 个答案:

答案 0 :(得分:0)

../bar/bar_file.txt

我想将所有黑色像素更改为白色像素。但通常方法是错误的。

答案 1 :(得分:0)

如果没有必要先制作图像数组,只需使用setRGB(x,y,rgb);如果您希望数组image.getRaster().getDataBuffer().getData()将返回一个。

答案 2 :(得分:0)

for (int x = 0; x < width; x++) {
        for (int y = 0; y < height; y++) {

            int pixel = image.getRGB(x,y);
            int red = (pixel >> 16) & 0xff;
            int green = (pixel >> 8) & 0xff;
            int blue = (pixel) & 0xff;

            // now you can access r g b values as 0-255 integers
            // you can do whatever you want with them 

            int outColor = (red << 16) | (green << 8) | blue;
            image.setRGB(x,y,outColor);  // this way you can set it back together

            your2dArray[x][y] = outColor; // you can also save each pixel in a 2D array
                                          // anytime

        }
    }

这些只是帮助您处理像素的一些技巧,还有很多其他方法可以做到,这些也应该是不同的方法,它只是一种表现形式。我不知道为什么将像素放在2d数组中很重要,但当然它可以工作。