bufferedimage image.getRGB和image.setRGB不是指同一个像素

时间:2014-07-23 05:52:11

标签: java

我遇到了setRGB()方法的问题。 get int color = getRGB(x,y)然后setRGB(x,y,color)后图像发生了变化。

File file=new File(fileName);
image = ImageIO.read(file);
            int width=image.getWidth();
            int high=image.getHeight();
            for (int xPixel = 0; xPixel < width; xPixel++)
            {
                for (int yPixel=0; yPixel<high; yPixel++)
                {
                    int color = image.getRGB(xPixel, xPixel);                
                    image.setRGB(xPixel, yPixel, color);                                    
                }
            }

然后我将图像写入bmp文件。新图像与旧图像不同。 什么问题?

1 个答案:

答案 0 :(得分:3)

使用xPixel和xPixel调用getRGB-函数。 和xPixel和yPixel作为参数的set函数。

我认为你的代码必须是

 int color = image.getRGB(xPixel, yPixel);                
 image.setRGB(xPixel, yPixel, color);