2014-07-23 48 views
-2

我有setRGB()方法的問題。得到int color = getRGB(x,y)後,setRGB(x,y,color)圖像已經改變。bufferedimage image.getRGB和image.setRGB不是指相同的像素

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文件。新圖像與舊圖像不一樣。 什麼是問題?

回答

3

您使用xPixel和xPixel調用getRGB-函數。 以及以xPixel和yPixel作爲參數的設置函數。

我覺得你的代碼必須是

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

看到的一樣,同樣我的代碼。但仍然錯誤! – user3867224

+1

不,這是不一樣的。 get方法的第二個參數是'xPixel',在我的代碼中第二個參數是'yPixel',區別在於代碼中的'x'和代碼中的''y'。 – Jens

+0

謝謝!這是一個愚蠢的錯誤! – user3867224

相關問題