bookClasses クラス セットを使用して画像を操作していますが、画像の赤目を除去しようとすると NullPointerException エラーが発生します。コードは次のとおりです。
まず、removeRedEye
Picture.Java クラス内にあるメソッド:
public void removeRedEye(int startX, int startY, int endX, int endY, Color newColor){
Pixel pixel = null;
for (int x = startX; x < endX; x++){
for (int y = startY; y < endY; y++){
if (pixel.colorDistance(Color.RED) < 167){
pixel.setColor(newColor);
}
}
}
}
}
そしてテストクラス:
public class TestRemoveRedEye{
public static void main(String[] args){
String fileName = FileChooser.getMediaPath("//jenny-red.jpg");
Picture jennyPicture = new Picture(fileName);
jennyPicture.removeRedEye(109,91,202,107,java.awt.Color.BLACK);
jennyPicture.explore();
}
}
私のプログラムが機能しない理由を誰かが提案できれば、大歓迎です。
これらの行はエラーで選択されています:
if (pixel.colorDistance(Color.RED) < 167){
removeRedEye メソッドから
jennyPicture.removeRedEye(109,91,202,107,java.awt.Color.BLACK);
テストクラスから