2011-02-08 5 views
0

У нас был процесс, в котором мы читали бы 24-битный ppm (8 бит на цвет) файл, обрезаем его и изменяем его размер, а затем сохраняем его как jpeg, используя поддержку JAI файлов ppm/pnm.Чтение 48-битного PPM (PNM) и сохранение в виде 24-битного jpeg с использованием JAI

Из-за некоторых проблем качества, создающих исходные файлы ppm, было решено создать 48-битные ppm-файлы (16 бит на цвет). Теперь, когда мы читаем PPM-файл, мы все равно получаем BufferedImage с ColorModel из [ColorModel: #pixelBits = 24 numComponents = 3 color space = [email protected] transparent = 1 имеет альфа = false isAlphaPre = false]

Если вы попытаетесь сохранить изображение как jpeg, это выглядит очень странно, как будто он по-прежнему использует 8 бит на цвет. Это происходит, когда изображение загружено или сохранено, неизвестно, но мы подозреваем, что ColorModel говорит, что 24 пиксельных бита кажутся проблемой загрузки. Если я дам ему 24-битный ppm, то указанная цветовая модель будет такой же.

Поддерживает ли JAI только 24-битное (8 бит на цвет) изображения ppm? Я не смог найти окончательного ответа на этот вопрос.

Как я могу прочитать 48-миллиграммовое изображение ppm и сохранить его как 24-битный jpeg?

Любые предложения будут оценены.

ответ

0

Мои 2 цента, попробуйте JAI Image I/O Tools, набор дополнительных кодеков для JAI, 1.1. Поддержка PPM, но не уверен, что 48bit PPM также.