pic というコンストラクタを持つ ImageProcessor というクラスがあります。関数のほとんどは、pic.class という別のクラスで定義されています。add メソッドを使用して、ピクセルの赤、緑、青の値を追加したいと考えています。このメソッドを呼び出そうとすると、「シンボルが見つかりません」というエラーが表示されます。私はそれを呼び出すことができないので、インスタンスを正しく作成して、追加関数を適切に呼び出すことができるようにするにはどうすればよいでしょうか。
/* Put your ImageProcessor class here */
import java.lang.String;
import java.lang.Math;
public class ImageProcessor {
public String imageName;
Pic p = new Pic(imageName);
Pixel[][] picList = p.getPixels();
int height = p.getHeight();
int width = p.getWidth();
public static void main(String[] args){
Pic current = new Pic("legoguy.png");
Pixel[][] pics = current.getPixels();
for(int a = 0; a < 1 ; a++) {
int b = 0;
Pixel p = pics[a][b];
System.out.println(p.add(5));
}
}
//add function//
public void add(int increment) {
/////////////////////////////////////
for(int x = 0 ; x < width - 1 ; x++){
for(int y = 0; y < height - 1 ; y++){
Pixel c = picList[x][y];
int r = c.getRed();
int g = c.getGreen();
int b = c.getBlue();
c.setRed(r + increment);
checkPix(r + increment);
c.setBlue(b + increment);
checkPix(b + increment);
c.setGreen(g + increment);
checkPix(g + increment);
}
}
}
詳細な注意事項: checkPix は、値が 0 から 255 の間であることを確認するだけです。pic コンストラクターは、Pic(java.lang.String imageName) というパターンに従います。getRed/b/g は、単純に値を返すピクセル クラスで定義した関数であり、setRed/b/g はそれらの値を変更します。