Как записать файлы PNG в Java с использованием значений RGB пикселей от 0 до 1?

StackOverflow https://stackoverflow.com/questions/4845646

Вопрос

Я пишу трассировщик лучей на java и пытаюсь понять, как записать сгенерированное изображение в файл PNG.Пока что все примеры, которые я нашел, демонстрируют использование BufferedImage для создания PNG, но все они используют значения RGB от 0 до 255. В моем коде я представляю значение цвета каждого пикселя между 0 и 1, поэтому, например, пурпурный цвет равен (1, 0, 1).Как я могу написать PNG с такими значениями?

Спасибо

Это было полезно?

Решение

Если вы умножите свое значение от 0 до 1 на 255, вы получите число от 0 до 255.

Примечание. С помощью API ImageIO очень легко записать код генерирующего кода в файл PNG, это всего лишь одна строка кода:

родовое слово

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

Вы можете создать собственный кодовый кодовый код, который хранит свои пиксельные данные как общий кодовый код.

Я не рекомендую это делать, потому что некоторые функции API платформы будут некорректно выполнять преобразование цветового пространства, когда в этом нет необходимости (например, когда и источник, и место назначения - sRGB).

Пример:

родовое слово
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top