Может кто-нибудь объяснить, как получить массив значения rgb из BufferedImage?
У меня есть изображение с серой шкалой в BufferedImage и нужно извлечь массив от 0 до 255 значений, которые описывают изображение.
Я знаю, что BufferedImage правильный, потому что я могу сохранить его в PNG. Однако, если я использую int[] dataBuffInt = ((DataBufferInt) heightMap.getDataBuffer()).getData();
, я получаю кучу огромных отрицательных чисел.
Я искал какое-то время и видел некоторые ссылки на перенос некоторых значений (post), но на самом деле не понимаю, что они говорят.
В основном я хочу перейти от BufferedImage к массиву от 0 до 255 значений RBG.
Я не уверен, что правильно объяснил себя, просьба о просьбе более подробной информации.
Edit:
@Garbage Спасибо за подсказку. Я попробовал int [] dataBuffInt = heightMap.getRGB(0, 0, heightMap.getWidth(), heightMap.getHeight(), null, 0, heightMap.getWidth()); Но получите тот же результат.
@Greg Kopff Результат равен 2, и он был установлен в TYPE_INT_ARGB