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()); }
public void setProgressiveMode(int mode) { adaptee.setProgressiveMode(mode); }
public void setProgressiveMode(int mode) { adaptee.setProgressiveMode(mode); }
public void setProgressiveMode(int mode) { adaptee.setProgressiveMode(mode); }
public void setProgressiveMode(int mode) { adaptee.setProgressiveMode(mode); }
public void setProgressiveMode(int mode) { adaptee.setProgressiveMode(mode); }
/** * Reads an input DICOM file and returns the desired frame as a PNG-encoded memory stream. * * @param iStream an input stream for the DICOM File. * @param frameIndex the index of the frame wanted (starting with #0). * @return the frame encoded in a PNG memory stream. * @throws IOException if the I/O operations on the images fail */ public static ByteArrayOutputStream DICOM2PNGStream(InputStream iStream, int frameIndex) throws IOException { // setup the PNG writer ImageWriter writer = createPNGImageWriter(); ImageWriteParam writeParams = writer.getDefaultWriteParam(); // and set the default params for it (height, weight, alpha) writeParams.setProgressiveMode(ImageWriteParam.MODE_DEFAULT); // activate progressive mode (adam7), best for low bandwidth connections BufferedImage image = ImageLoader.loadImage(iStream); // mount the resulting memory stream ByteArrayOutputStream result = new ByteArrayOutputStream(); // write the specified frame to the resulting stream try (ImageOutputStream outStream = ImageIO.createImageOutputStream(result)) { writer.setOutput(outStream); writer.write(image); } return result; }
@Override public void init() throws ServletException { super.init(); imageWriters = new ConcurrentLinkedQueue<>(); imageWriteParam = ImageIO.getImageWritersBySuffix("png").next().getDefaultWriteParam(); try { imageWriteParam.setProgressiveMode(ImageWriteParam.MODE_DEFAULT); } catch (UnsupportedOperationException e) { LOGGER.warn("Your PNG encoder does not support progressive PNGs."); } String thSize = getInitParameter("thumbnailSize"); if (thSize != null) { thumbnailSize = Integer.parseInt(thSize); } LOGGER.info("{}: setting thumbnail size to {}", getServletName(), thumbnailSize); }
ImageWriter writer = createPNGImageWriter(); writeParams.setProgressiveMode(ImageWriteParam.MODE_DEFAULT); // activate progressive mode (adam7), best for low bandwidth connections writer.setOutput(outStream); writer.write(image);
ImageWriteParam iwp = new JPEGImageWriteParam(null); iwp.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); iwp.setProgressiveMode(ImageWriteParam.MODE_DEFAULT); iwp.setCompressionQuality((float) quality);
ImageWriteParam iwp = new JPEGImageWriteParam(null); iwp.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); iwp.setProgressiveMode(ImageWriteParam.MODE_DEFAULT); iwp.setCompressionQuality((float) quality);
private static void writeJPGtoStream(BufferedImage image, ImageInputStream ios, JpegSettings jpegSettings, ProgressTracker tracker) throws IOException { Iterator<ImageWriter> jpgWriters = ImageIO.getImageWritersByFormatName("jpg"); if (!jpgWriters.hasNext()) { throw new IllegalStateException("No JPG writers found"); } ImageWriter writer = jpgWriters.next(); ImageWriteParam imageWriteParam = writer.getDefaultWriteParam(); if (jpegSettings.isProgressive()) { imageWriteParam.setProgressiveMode(MODE_DEFAULT); } else { imageWriteParam.setProgressiveMode(MODE_DISABLED); } imageWriteParam.setCompressionMode(MODE_EXPLICIT); imageWriteParam.setCompressionQuality(jpegSettings.getQuality()); IIOImage iioImage = new IIOImage(image, null, null); writer.setOutput(ios); if (tracker != null) { writer.addIIOWriteProgressListener(new TrackerWriteProgressListener(tracker)); } writer.write(null, iioImage, imageWriteParam); ios.flush(); ios.close(); }
imgWriteParams.setProgressiveMode(JPEGImageWriteParam.MODE_DISABLED); ColorModel colorModel = ColorModel.getRGBdefault();
imgWriteParams.setProgressiveMode(JPEGImageWriteParam.MODE_DISABLED); ColorModel colorModel = ColorModel.getRGBdefault();
private static void encodeImage(BufferedImage image, OutputStream out, Params params) throws IOException { Iterator<ImageWriter> writers = ImageIO.getImageWritersByFormatName(params.getImageType().getName()); // these guys were found ImageWriter writer = writers.hasNext() ? writers.next() : null; ImageWriteParam imageWriteParam = writer.getDefaultWriteParam(); if (imageWriteParam.canWriteProgressive()) { imageWriteParam.setProgressiveMode(params.isProgressive() ? ImageWriteParam.MODE_DEFAULT : ImageWriteParam.MODE_DISABLED); } if (imageWriteParam.canWriteCompressed()) { imageWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); imageWriteParam.setCompressionQuality(params.getCompressionQuality()); } ImageOutputStream ios = ImageIO.createImageOutputStream(out); writer.setOutput(ios); writer.write(null, new IIOImage(image,null,null), imageWriteParam); writer.dispose(); ios.close(); }
params.setProgressiveMode(ImageWriteParam.MODE_DEFAULT);
private ImageWriteParam getImageParams() { ImageWriteParam iwp = writer.getDefaultWriteParam(); ImageWriterSpi imgProvider = writer.getOriginatingProvider(); //If lossy compression, use the quality if (! imgProvider.isFormatLossless()) { iwp.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); iwp.setCompressionQuality(gdef.imageQuality); } if (iwp.canWriteProgressive()) { iwp.setProgressiveMode(gdef.interlaced ? ImageWriteParam.MODE_DEFAULT:ImageWriteParam.MODE_DISABLED); } return iwp; }
writeParams.setProgressiveMode(ImageWriteParam.MODE_DEFAULT); // activate progressive mode (adam7), best for low bandwidth connections
param.setProgressiveMode(ImageWriteParam.MODE_DEFAULT); } else { param.setProgressiveMode(ImageWriteParam.MODE_DISABLED);
param.setProgressiveMode(ImageWriteParam.MODE_DEFAULT); } else { param.setProgressiveMode(ImageWriteParam.MODE_DISABLED);