@Override RenderedImage process( ImageWorker inputWorker, Hints hints, Map<String, Expression> parameters) { // // IT WORKS ONLY ON BYTE DATA TYPE!!! // // convert the input image to 8 bit inputWorker.rescaleToBytes(); // compute the histogram final Histogram h = inputWorker.removeRenderingHints().getHistogram(null, null, null); // do the actual lookup Map<String, Object> params = new HashMap<String, Object>(); params.put(KEY_HISTOGRAM, h); LookupTable table = createByteLookupTable(params); inputWorker.setRenderingHints(hints); inputWorker.lookup(table); return inputWorker.getRenderedImage(); }
"Forcing input image to be compatible with PNG: Palette with > 256 color is not supported."); rescaleToBytes(); if (paletted) { forceIndexColorModelForGIF(true); rescaleToBytes(); if (!originatingProvider.canEncodeImage(image)) { throw new IllegalArgumentException(
rescaleToBytes(); cm = image.getColorModel();
ImageWorker iw = new ImageWorker(finalImage); if (sampleSize > 8 && asByte) { iw = iw.rescaleToBytes(); finalImage = iw.getRenderedImage();
cm = image.getColorModel(); if (!(cm instanceof IndexColorModel) || cm.getPixelSize() > 8) rescaleToBytes();
.setRenderingHints(hints) .forceComponentColorModel() .rescaleToBytes(); } else { worker =
image = new ImageWorker(image) .rescaleToBytes() .forceComponentColorModel() .getRenderedImage();
image = new ImageWorker(originalImage).rescaleToBytes().getRenderedImage(); if (invColorMap != null) { if (LOGGER.isLoggable(Level.FINER)) {
LOGGER.fine("Forcing input image to be compatible with PNG: Palette with > 256 color is not supported."); rescaleToBytes(); if(paletted){ forceIndexColorModelForGIF(true); rescaleToBytes(); if(!originatingProvider.canEncodeImage(image)){ throw new IllegalArgumentException("Unable to find a valid PNG Encoder! And believe me, we tried hard!");
.setNoData(nodata) .setRenderingHints(this.getHints()) .rescaleToBytes() .getRenderedImage(); roiProp = w.getROI();
rescaleToBytes(); cm = image.getColorModel();
public RenderedImage writePNG( RenderedImage image, OutputStream outStream, float quality, WMSMapContent mapContent) { // what kind of scaline filtering are we going to use? FilterType filterType = getFilterType(mapContent); // Creation of a new PNGWriter object PNGWriter writer = new PNGWriter(); // Check if a Scanline is supported by the writer boolean isScanlineSupported = writer.isScanlineSupported(image); // If it is not supported, then the image is rescaled to bytes if (!isScanlineSupported) { image = new ImageWorker(image) .rescaleToBytes() .forceComponentColorModel() .getRenderedImage(); } RenderedImage output = null; // Image writing try { output = writer.writePNG(image, outStream, quality, filterType); } catch (Exception e) { throw new ServiceException("Failed to encode the PNG", e); } return output; }
private static RenderedImage applyPalette(RenderedImage canvas) { if (!(canvas.getColorModel() instanceof IndexColorModel)) { // try to force a RGBA setup ImageWorker imageWorker = new ImageWorker(canvas); RenderedImage image = imageWorker.rescaleToBytes().forceComponentColorModel().getRenderedImage(); ColorIndexer indexer = new Quantizer(256).subsample().buildColorIndexer(image); // if we have an indexer transform the image if (indexer != null) { image = new ImageWorker(image).colorIndex(indexer).getRenderedImage(); } return image; } return canvas; } }
.rescaleToBytes() .forceComponentColorModel() .getRenderedImage();
inputImage=new ImageWorker(inputImage).rescaleToBytes().getRenderedImage();
forceComponentColorModel(); rescaleToBytes(); tileCacheEnabled(true);
.setRenderingHints(hints) .forceComponentColorModel() .rescaleToBytes() .getRenderedImage();
new ImageWorker(outputImage).setRenderingHints(this.getHints()).rescaleToBytes().getRenderedImage();