2015-06-03 52 views
0

簡化代碼:當重新分配顏色的像素,所有顏色爲黑色

public static void main(String[]args) throws Exception { 
    BufferedImage img = new BufferedImage(512, 512, BufferedImage.TYPE_INT_ARGB); 

    for (int i = 0; i < 512; i++) { 
     for (int j = 0; j < 512; j++) { 

      if (complex.getInfinite()) { 
       Color newcol = new Color(100, 0, 0); 
       img.setRGB(i, j, newcol.getRGB()); 
      } 
      if (complex.getInfinite() == false) { 
       Color newcol = new Color(0, 0, 100); 
       img.setRGB(i, j, newcol.getRGB()); 
      } 
     } 
    } 
    saveImage(img, new File("Julia.jpg")); 
} 

我的問題是,當我運行該程序,Julia.jpg是全黑圖像。
我玩過的像素數量是彩色的,只有我着色的像素變黑。

我想知道如果問題是當我生成的圖像,我給了它錯誤的類型。

+1

爲什麼要檢查'如果(complex.getInfinite())'之後'如果(complex.getInfinite( )== false)'? – Gosu

+1

什麼是「複雜」? – Gosu

+0

複數是複數複數的一個實例。這個想法是爲茱莉亞分形創建一個圖像,其中x維是實數值,y維是虛部。如果輸入的座標旋轉到無窮大(當插入f(z)= z^2 + c進行255次迭代),則getInfinity()返回True。 – CodingWill

回答

0

變化

BufferedImage img = new BufferedImage(512, 512, BufferedImage.TYPE_INT_ARGB); 

BufferedImage img = new BufferedImage(512, 512, BufferedImage.TYPE_INT_BGR); 

更多細節:BufferedImage.TYPE_INT_BGR