【发布时间】:2013-03-09 16:16:51
【问题描述】:
按照@PhiLho's answer to How to convert a BufferedImage to 8 bit?的思路,我想用ColorQuantizerDescriptor来转换一个BufferedImage,imageType TYPE_INT_RGB,但是RenderedOp#getColorModel()抛出如下异常:
这是我尝试使用的代码:
final RenderedOp medianCutQuantizerOp = ColorQuantizerDescriptor.create(rgbImage, ColorQuantizerDescriptor.MEDIANCUT, 256, null, null, null, null, null);
final BufferedImage bi = medianCutQuantizerOp.getAsBufferedImage(null, medianCutQuantizerOp.getColorModel());
如何使用ColorQuantizerDescriptor?
【问题讨论】:
-
我很难相信 getter 会抛出异常。尝试在自己的行上中断对 getColorModel 的调用,然后将该 var 传递给 getAsBufferedImage 调用。我想你会看到错误来自 getAsBufferedImage 调用。 From download.java.net/media/jai/javadoc/1.1.3/jai-apidocs/javax/…, java.awt.image.ColorModel) - “调用者负责提供与图像的 SampleModel 兼容的 ColorModel。”
-
@I82Much getColorModel() 可以抛出异常(尽管没有记录!),因为它可以创建 Op 的渲染以获取模型。
标签: java bmp javax.imageio jai quantization