Получить ширину и высоту изображения в пикселях - PullRequest
0 голосов
/ 16 июня 2011

, поэтому я посмотрел на пару других вопросов, подобных этому, и из того, что я увидел, ни один из ответов, казалось, не ответил на мой вопрос. Я создал программу, которая создает искусство ASCII, которое представляет собой изображение текста вместо цветов. как у меня настроена программа на данный момент вы должны вручную установить ширину и высоту пикселей. Если ширина и высота пикселей слишком велики, это просто не сработает. так что в основном я хочу иметь функцию автоматического задания ширины и высоты в соответствии с размером изображения. http://www.mediafire.com/?3nb8jfb8bhj8d - это ссылка на программу сейчас. Я посмотрел на устройство захвата пикселей, но все методы конструктора нуждались в диапазоне пикселей. У меня также есть еще одна папка для классов, http://www.mediafire.com/?2u7qt21xhbwtp


С другой стороны, эта программа невероятно неэффективна, я знаю, что она неэффективна в методе grayscaleValue (), но я не знаю, есть ли лучший способ сделать это. Любые предложения по этой программе тоже будут замечательными. Заранее спасибо! (эта программа была сделана во время затмения)

1 Ответ

0 голосов
/ 16 июня 2011

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

Для дальнейшей очистки кода измените серию операторов if на конструкцию переключателя или индекс на массив, в зависимости от того, что большеестественно.См. this для объяснения конструкции switch.

Последний комментарий: все внутри класса, которое логически представляет состояние объекта, должно быть объявлено не статичным.Например, если вы хотите визуализировать два изображения рядом, вам нужно создать экземпляры, если GetPixelColor, и каждое из них должно иметь свои собственные атрибуты высоты и ширины.Поскольку в настоящее время они объявлены статическими, каждый экземпляр будет использовать одни и те же данные, что явно нежелательно.

...