BufferedImage не получает правильные цвета

Итак, я загружаю изображение png, чтобы изменить его размер, когда я понял, что цвет изображения немного изменился. Я определил, что это произошло, когда я загрузил изображение с помощью следующего примера.

BufferedImage image = ImageIO.read(new File("imagepath"));
final int rgb = image.getRGB(300, 300);
Color color = new Color(rgb);
System.out.println(color);

Проверяя цвет, я обнаружил, что значения RGB для пикселя, где: java.awt.Color [r = 238, g = 28, b = 35]

Используемое изображение - https://imgur.com/a/G5DZfVe, в котором значения цвета для красного - 255,0,33.

Я использую jdk1.8.0_131, если это вас интересует.

Открытие изображения с помощью GIMP вызывает появление сообщения о том, что это изображение использует «встроенный цветовой профиль» и позволяет либо 1. сохранить профиль, либо 2. преобразовать его в sRGB. При преобразовании в sRGB цвет становится (255,0,33). При сохранении профиля цвет (238,28,35). Я просто пытался преобразовать изображение во время выполнения, но это PITA. Я бы рекомендовал СИЛЬНО просто открыть изображение с помощью GIMP и сохранить его в более распространенном варианте PNG.

Marco13 08.10.2018 19:47

Ах, это все объясняет, тогда я посмотрю, что я могу сделать с цветовым профилем. Большое спасибо!

user2270439 09.10.2018 12:25
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
18
0

Другие вопросы по теме