После того, как вы прочитали изображение в свой BufferedImage, вы можете вызвать getWidth () и getHeight () для него, чтобы получить эту информацию динамически.См. JavaDocs .Кроме того, используйте конструктор для GetPixelColor, чтобы создать BufferedImage раз и навсегда.Это позволит избежать чтения всего файла с диска для каждого канала каждого пикселя.
Для дальнейшей очистки кода измените серию операторов if
на конструкцию переключателя или индекс на массив, в зависимости от того, что большеестественно.См. this для объяснения конструкции switch.
Последний комментарий: все внутри класса, которое логически представляет состояние объекта, должно быть объявлено не статичным.Например, если вы хотите визуализировать два изображения рядом, вам нужно создать экземпляры, если GetPixelColor, и каждое из них должно иметь свои собственные атрибуты высоты и ширины.Поскольку в настоящее время они объявлены статическими, каждый экземпляр будет использовать одни и те же данные, что явно нежелательно.