Following the @PhiLho idea , the answer to How to convert a BufferedImage to 8 bits? , I want to use ColorQuantizerDescriptor to convert BufferedImage , imageType TYPE_INT_RGB, but RenderedOp # getColorModel () throws the following exception:
java.lang.IllegalArgumentException: The specified ColorModel is incompatible with the image SampleModel.
at javax.media.jai.PlanarImage.setImageLayout (PlanarImage.javahaps41)
at javax.media.jai.RenderedOp.createRendering (RenderedOp.java:878)
at javax.media.jai.RenderedOp.getColorModel (RenderedOp.java:2253)
This is the code I'm trying to use:
final RenderedOp medianCutQuantizerOp = ColorQuantizerDescriptor.create(rgbImage, ColorQuantizerDescriptor.MEDIANCUT, 256, null, null, null, null, null); final BufferedImage bi = medianCutQuantizerOp.getAsBufferedImage(null, medianCutQuantizerOp.getColorModel());
How to use ColorQuantizerDescriptor ?
java bmp jai javax.imageio quantization
Daniel Trebbien
source share