我们有一个过程,我们将读取 24 位 ppm(每种颜色 8 位)文件,对其进行裁剪并调整大小,然后利用 JAI 对 ppm/pnm 文件的支持将其保存为 jpeg 缩略图。
由于产生原始 ppm 文件的一些质量问题,决定创建 48 位 ppm 文件(每种颜色 16 位)。现在,当我们读取 PPM 文件时,我们仍然得到一个 BufferedImage,其 ColorModel 为 [ColorModel: #pixelBits = 24 numComponents = 3 color space = java.awt.color.ICC_ColorSpace@147f330 透明度 = 1 has alpha = false isAlphaPre = false]
如果您尝试将图像保存为 jpeg,它看起来很奇怪,就像它仍然使用每种颜色 8 位一样。加载或保存图像时是否会发生这种情况尚不清楚,但我们怀疑由于 ColorModel 显示 24 像素位,这似乎是加载问题。如果我给它一个 24 位 ppm 报告的颜色模型是相同的。
JAI 是否仅支持 24 位(每种颜色 8 位)ppm 图像?对于这个问题,我找不到任何明确的答案。
如何读取 48 位 ppm 图像并将其保存为 24 位 jpeg?
任何建议,将不胜感激。