遵循@PhiLho 对如何将 BufferedImage 转换为 8 位的回答的想法?,我想用来ColorQuantizerDescriptor
转换一个BufferedImage
,imageType TYPE_INT_RGB,但是RenderedOp#getColorModel()抛出以下异常:
java.lang.IllegalArgumentException:指定的 ColorModel 与图像 SampleModel 不兼容。 在 javax.media.jai.PlanarImage.setImageLayout(PlanarImage.java:541) 在 javax.media.jai.RenderedOp.createRendering(RenderedOp.java:878) 在 javax.media.jai.RenderedOp.getColorModel(RenderedOp.java:2253)
这是我尝试使用的代码:
final RenderedOp medianCutQuantizerOp = ColorQuantizerDescriptor.create(rgbImage, ColorQuantizerDescriptor.MEDIANCUT, 256, null, null, null, null, null);
final BufferedImage bi = medianCutQuantizerOp.getAsBufferedImage(null, medianCutQuantizerOp.getColorModel());
我该如何使用ColorQuantizerDescriptor
?