Posted By:
Anonymous
Posted On:
Thursday, September 27, 2001 04:08 AM
I found the solution. Now the code looks like this:
ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_GRAY);
RenderedOp ro = JAI.create("fileload", "../orlandoradar.jpg");
ColorModel cmRo = ro.getColorModel();
ColorModel cm = RasterFactory.createComponentColorModel(
ro.getSampleModel().getDataType(),
cs, cmRo.hasAlpha(),
cmRo.isAlphaPremultiplied(), cmRo.getTransparency());
//
ParameterBlock pb = new ParameterBlock();
pb.addSource(ro);
pb.add(cm);
// changed code:
ImageLayout layout = new ImageLayout();
layout.setColorModel(cm);
layout.setSampleModel(cm.createCompatibleSampleModel(
ro.getWidth(), ro.getHeight()));
RenderingHints rh = new RenderingHints(JAI.KEY_IMAGE_LAYOUT, layout);
ro.setRenderingHints(rh);
// end of changed code
ro = JAI.create("colorconvert", pb, rh);
Maybe it can be simplified, especially the
ColorModel creation method, but this works fine - I got grayscale image as a result.