У нас был процесс, в котором мы читали 24-битный файл ppm (8 бит на цвет), обрезали его и изменяли его размер, а затем сохраняли его в виде эскиза jpeg, используя поддержку JAI для файлов ppm / pnm.
Из-за некоторых проблем с качеством при создании оригинальных ppm-файлов было решено создать 48-битные ppm-файлы (16 бит на цвет).Теперь, когда мы читаем файл PPM, мы все еще получаем BufferedImage с ColorModel [ColorModel: #pixelBits = 24 numComponents = 3 цветового пространства = java.awt.color.ICC_ColorSpace@147f330 прозрачность = 1 имеет альфа = ложь isAlphaPre = false]
Если вы попытаетесь сохранить изображение в формате JPEG, оно выглядит очень странно, так как оно все еще использует 8 бит на цвет.Происходит ли это, когда изображение загружается или сохраняется, неизвестно, но мы подозреваем, что, поскольку ColorModel сообщает о 24 пиксельных битах, похоже, это проблема загрузки.Если я задаю 24-битный ppm, то сообщаемая цветовая модель будет такой же.
Поддерживает ли JAI только 24-битные (8 бит на цвет) изображения в ppm?Я не смог найти однозначного ответа на этот вопрос.
Как я могу прочитать 48-битное изображение на миллион и сохранить его как 24-битный JPEG-файл?
Любые предложения будут оценены.