bufferedimage形象.getRGB和image.setRGB不指向相同的像素



我有setRGB()方法的问题。在getint color=getRGB(x,y)之后,然后settrgb (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文件。新形象和旧形象不一样。问题是什么?

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

我想你的代码一定是

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

最新更新