2016-10-12 6 views
-1

私はここにいるので、私に同行してください。メソッド内のグローバル変数を変更する

だから、私はこれまでRGB

public Pixel(int r, int g, int b){ 
    this.r=r; 
    this.g=g; 
    this.b=b; 
} 

と方法modifyBrightness()

public void modifyBrightness(String arg0) { 
    result = new Pixel[height][width]; 
    try { 
     int brightness; 
     brightness= Integer.parseInt(arg0); 

     Pixel[][] brillo = new Pixel[height][width]; 
     for (int i = 0; i < height; i++) { 
      for (int j = 0; j < width; j++) { 
       int r = ValidateRGB(original[i][j].getR() + brightness); 
       int g = ValidateRGB(original[i][j].getG() + brightness); 
       int b = ValidateRGB(original[i][j].getB() + brightness); 
       result[i][j] = new Pixel(r, g, b); 


      } 
     }     
    } 

を持っているグローバル変数

private Pixel[][] result; 

を持って、コードが正常に動作します。私は別の方法から結果にアクセスしようとした場合しかし、私はまだあなたが結果の要素[i]の[j]を持っていることを確認しにNullPointer例外

public void saveResult(String arg0) { 
    BufferedImage result = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_ARGB); 
    for (int i = 0; i < imagen.length; i++) { 
     for (int j = 0; j < imagen.length; j++) { 
      int rgb = ((resultado[i][j].getR() & 0x0ff) << 16) | ((resultado[i][j].getG() & 0x0ff) << 8) 
        | (resultado[i][j].getB() & 0x0ff); 
      result.setRGB(i, j, rgb); 
     } 
    } 
} 

答えて

-2

を取得します。配列に要素を配置する必要があります。

+0

おっと、それは本当に問題でした。しかし、別の関数からアクセスしようとすると、結果はまだ空です。私は質問を編集するつもりです。 –

関連する問題