Как записать файлы PNG в Java с использованием значений RGB пикселей от 0 до 1?
-
27-10-2019 - |
Вопрос
Я пишу трассировщик лучей на java и пытаюсь понять, как записать сгенерированное изображение в файл PNG.Пока что все примеры, которые я нашел, демонстрируют использование BufferedImage для создания PNG, но все они используют значения RGB от 0 до 255. В моем коде я представляю значение цвета каждого пикселя между 0 и 1, поэтому, например, пурпурный цвет равен (1, 0, 1).Как я могу написать PNG с такими значениями?
Спасибо
Решение
Если вы умножите свое значение от 0 до 1 на 255, вы получите число от 0 до 255.
Примечание. С помощью API ImageIO очень легко записать код генерирующего кода в файл PNG, это всего лишь одна строка кода:
родовое словоДругие советы
Вы можете создать собственный кодовый кодовый код, который хранит свои пиксельные данные как общий кодовый код.
Я не рекомендую это делать, потому что некоторые функции API платформы будут некорректно выполнять преобразование цветового пространства, когда в этом нет необходимости (например, когда и источник, и место назначения - sRGB).
Пример:
родовое слово