ImageWriter jpgWriter = ImageIO.getImageWritersByFormatName("jpg").next(); ImageWriteParam jpgWriteParam = jpgWriter.getDefaultWriteParam(); jpgWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); jpgWriteParam.setCompressionQuality(0.7f); ImageOutputStream outputStream = createOutputStream(); // For example implementations see below jpgWriter.setOutput(outputStream); IIOImage outputImage = new IIOImage(image, null, null); jpgWriter.write(null, outputImage, jpgWriteParam); jpgWriter.dispose();
writer.setOutput(out); ImageWriteParam param = writer.getDefaultWriteParam(); param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); param.setCompressionType(pngCompression ? "BI_PNG" : "BI_RGB");
private ImageWriteParam copyParams(final ImageWriteParam param, final ImageWriter writer) { if (param == null) { return null; } // Always safe ImageWriteParam writeParam = writer.getDefaultWriteParam(); writeParam.setSourceSubsampling(param.getSourceXSubsampling(), param.getSourceYSubsampling(), param.getSubsamplingXOffset(), param.getSubsamplingYOffset()); writeParam.setSourceRegion(param.getSourceRegion()); writeParam.setSourceBands(param.getSourceBands()); // Only if canWriteCompressed() writeParam.setCompressionMode(param.getCompressionMode()); if (param.getCompressionMode() == ImageWriteParam.MODE_EXPLICIT) { writeParam.setCompressionQuality(param.getCompressionQuality()); } return writeParam; }
ImageWriter writer = (ImageWriter) ImageIO.getImageWritersByFormatName("jpeg").next(); ImageWriteParam param= writer.getDefaultWriteParam(); param.setCompressionMode(param.MODE_EXPLICIT); param.setCompressionType("JPEG-LS");
ImageWriteParam param = writer.getDefaultWriteParam(); param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); param.setCompressionQuality(0.5f);
try { ImageOutputStream ios = ImageIO.createImageOutputStream(var7); Iterator<ImageWriter> iter = ImageIO.getImageWritersByFormatName("jpeg"); ImageWriter writer = iter.next(); ImageWriteParam iwp = writer.getDefaultWriteParam(); iwp.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); iwp.setCompressionQuality(0.85f); writer.setOutput(ios); writer.write(null, new IIOImage(var6,null,null),iwp); writer.dispose(); //ImageIO.write(var6, "jpg", var7); }
Iterator iter = ImageIO.getImageWritersByFormatName("jpeg"); ImageWriter writer = (ImageWriter)iter.next(); ImageWriteParam iwp = writer.getDefaultWriteParam(); iwp.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); iwp.setCompressionQuality(0.5); // integer between 0 and 1
void saveAsMultipageTIFF(ArrayList<BufferedImage> bimTab, String filename, int dpi) throws IOException { Iterator<ImageWriter> writers = ImageIO.getImageWritersByFormatName("tiff"); ImageWriter imageWriter = writers.next(); ImageOutputStream ios = ImageIO.createImageOutputStream(new File(filename)); imageWriter.setOutput(ios); imageWriter.prepareWriteSequence(null); for (BufferedImage image : bimTab) { ImageWriteParam param = imageWriter.getDefaultWriteParam(); IIOMetadata metadata = imageWriter.getDefaultImageMetadata(new ImageTypeSpecifier(image), param); param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); TIFFUtil.setCompressionType(param, image); TIFFUtil.updateMetadata(metadata, image, dpi); imageWriter.writeToSequence(new IIOImage(image, null, metadata), param); } imageWriter.endWriteSequence(); imageWriter.dispose(); ios.flush(); ios.close(); }
@Override ImageWriteParam newImageWriterParams(PdfToMultipleTiffParameters params) { ImageWriteParam param = writer.getDefaultWriteParam(); param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); param.setCompressionType(TIFF_COMPRESSION_TYPE_CACHE .get(ofNullable(params.getCompressionType()).orElse(TiffCompressionType.NONE))); return param; } }
ImageWriteParam param = writer.getDefaultWriteParam(); if (param.canWriteCompressed()) { // NOTE: Any method named [set|get]Compression.* throws UnsupportedOperationException if false param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); param.setCompressionQuality(0.5f); }
public byte[] writeImageToBytes(Image image, float quality) throws Exception { BufferedImage bi; if (image instanceof BufferedImage && ((BufferedImage) image).getType() == BufferedImage.TYPE_INT_RGB) { bi = (BufferedImage) image; } else { bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D g = bi.createGraphics(); g.drawImage(image, 0, 0, width, height, null); } ByteArrayOutputStream baos = new ByteArrayOutputStream(); ImageWriter imgWrtr = ImageIO.getImageWritersByFormatName("jpg").next(); ImageOutputStream imgOutStrm = ImageIO.createImageOutputStream(baos); imgWrtr.setOutput(imgOutStrm); ImageWriteParam jpgWrtPrm = imgWrtr.getDefaultWriteParam(); jpgWrtPrm.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); jpgWrtPrm.setCompressionQuality(quality); imgWrtr.write(null, new IIOImage(bi, null, null), jpgWrtPrm); imgOutStrm.close(); return baos.toByteArray(); } }
protected ImageWriteParam prepareParameters( ImageWriter writer, String compression, boolean compressUsed, float compressionRate) { // Parameters creation ImageWriteParam params = writer.getDefaultWriteParam(); params.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); if (compressUsed) { // best compression params.setCompressionType(compression); } if (compressionRate > -1) { // we can control quality here params.setCompressionQuality(compressionRate); } return params; }
@Override ImageWriteParam newImageWriterParams(PdfToSingleTiffParameters params) { ImageWriteParam param = writer.getDefaultWriteParam(); param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); param.setCompressionType(TIFF_COMPRESSION_TYPE_CACHE .get(ofNullable(params.getCompressionType()).orElse(TiffCompressionType.NONE))); return param; } }
ImageWriteParam writeParam = writer.getDefaultWriteParam(); writeParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); writeParam.setCompressionType("PackBits"); writeParam.setCompressionQuality(0.5f);
protected InputStream compress(BufferedImage image, String formatName) throws Exception { if (formatName.toLowerCase().equals("jpeg") || formatName.toLowerCase().equals("jpg")) { image = stripAlpha(image); } ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); BufferedOutputStream bos = new BufferedOutputStream(byteArrayOutputStream); if (formatName.toLowerCase().equals("gif")) { formatName = "png"; } Iterator<ImageWriter> writerIter = ImageIO.getImageWritersByFormatName(formatName); ImageWriter writer = writerIter.next(); ImageWriteParam iwp = writer.getDefaultWriteParam(); if (formatName.toLowerCase().equals("jpeg") || formatName.toLowerCase().equals("jpg")) { iwp.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); iwp.setCompressionQuality(0.85F); iwp.setProgressiveMode(ImageWriteParam.MODE_DEFAULT); } MemoryCacheImageOutputStream output = new MemoryCacheImageOutputStream(bos); writer.setOutput(output); IIOImage iomage = new IIOImage(image, null,null); writer.write(null, iomage, iwp); bos.flush(); return new ByteArrayInputStream(byteArrayOutputStream.toByteArray()); }
/** * Returns the image output parameters to control the output image quality, compression, etc. By default * this uses the compression values set in this class. Override this method to get full control over the * ImageWriteParam used in image output. * * @param writer The ImageWriter we are going to use for image output. * @return ImageWriteParam configured for image output. */ protected ImageWriteParam getImageWriteParameters(ImageWriter writer) { ImageWriteParam param = writer.getDefaultWriteParam(); if (param.canWriteCompressed()) { if (writeCompressionMode != ImageWriteParam.MODE_COPY_FROM_METADATA) { param.setCompressionMode(writeCompressionMode); // see docs for IWP--only allowed to set type and quality if mode is EXPLICIT if (writeCompressionMode == ImageWriteParam.MODE_EXPLICIT) { param.setCompressionType(writeCompressionType); param.setCompressionQuality(writeCompressionQuality); } } } return param; }
/** * Returns the default write parameters for encoding the image. * @param iiowriter The IIO ImageWriter that will be used * @param image the image to be encoded * @param params the parameters for this writer instance * @return the IIO ImageWriteParam instance */ protected ImageWriteParam getDefaultWriteParam( javax.imageio.ImageWriter iiowriter, RenderedImage image, ImageWriterParams params) { ImageWriteParam param = iiowriter.getDefaultWriteParam(); if ((params != null) && (params.getCompressionMethod() != null)) { param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); param.setCompressionType(params.getCompressionMethod()); } return param; }
public synchronized ImageWriteParam adjustImageWriteParam(ImageWriteParam param) { if (imgWriteParam == null) { if (getCompressionQuality() != null) { if (getResponseFormat() == ImageMime.jpeg) { param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); param.setCompressionQuality(getCompressionQuality()); } else { log.debug("FormatModifier only supports JPEG image parameters at this time."); } } imgWriteParam = param; } return imgWriteParam; } }
writer.setOutput(ios); ImageWriteParam iwparam = new JPEGImageWriteParam(Locale.getDefault()); iwparam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); iwparam.setCompressionQuality((quality / 100f)); writer.write( null, new IIOImage(
protected ImageOutputter getOutputter() { Iterator<ImageWriter> writers = ImageIO.getImageWritersByFormatName(getOriginalFormatName()); if (writers.hasNext()) { ImageWriter writer = writers.next(); ImageWriteParam param = writer.getDefaultWriteParam(); if (getOriginalFormatName().equals("jpeg")) { param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); param.setCompressionQuality(config.getJpegCompression()); } return new ImageIOOutputter(writer, param); } return new SanselanOutputter(FORMAT_NAME_TO_IMAGE_FORMAT.get(getOriginalFormatName())); }