// Get a writer for JPEG. ImageWriter iw = ImageIO.getImageWritersByFormatName("jpeg").next(); iw.setOutput(new FileImageOutputStream(outputFile)); // Set the compression quality to 0.9f. ImageWriteParam iwParam = iw.getDefaultWriteParam(); iwParam.setCompressionQuality(0.9f); // Write image iw.write(null, new IIOImage(imageToWrite, null, null), iwParam);
final ImageWriter writer = ImageIO.getImageWritersByFormatName("jpg").next(); // specifies where the jpg image has to be written writer.setOutput(new FileImageOutputStream( new File(folder.toString() + "/" + filename + ".jpg"))); // writes the file with given compression level // from your JPEGImageWriteParam instance writer.write(null, new IIOImage(capture, null, null), jpegParams);
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();
public static void main(String[] pArgs) throws IOException { System.out.print("Reading image.. "); BufferedImage image = ImageIO.read(new File(pArgs[0])); System.out.println("image read"); System.out.println("image: " + image); ImageWriter writer = new PICTImageWriter(null); ImageOutputStream stream = ImageIO.createImageOutputStream(new File(pArgs[1])); writer.setOutput(stream); writer.write(image); stream.close(); } }
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); }
public static void main(String[] args) throws IOException { File input = new File(args[0]); File output = new File(input.getParentFile(), input.getName().replace('.', '_') + ".ppm"); BufferedImage image = ImageIO.read(input); if (image == null) { System.err.println("input Image == null"); System.exit(-1); } System.out.println("image: " + image); ImageWriter writer = new PNMImageWriterSpi().createWriterInstance(); if (!output.exists()) { writer.setOutput(ImageIO.createImageOutputStream(output)); writer.write(image); } else { System.err.println("Output file " + output + " already exists."); System.exit(-1); } } }
ImageWriter writer = ImageIO.getImageWritersByFormatName("png").next(); ImageWriteParam writeParam = writer.getDefaultWriteParam(); ImageTypeSpecifier typeSpecifier = ImageTypeSpecifier.createFromBufferedImageType(BufferedImage.TYPE_INT_RGB); writer.setOutput(stream); writer.write(metadata, new IIOImage(buffImg, null, metadata), writeParam); stream.close();
Iterator<ImageWriter> imageWriters = ImageIO.getImageWritersByMIMEType(contentType.toString()); if (imageWriters.hasNext()) { imageWriter = imageWriters.next(); ImageWriteParam iwp = imageWriter.getDefaultWriteParam(); process(iwp); imageOutputStream = createImageOutputStream(body); imageWriter.setOutput(imageOutputStream); imageWriter.write(null, new IIOImage(image, null, null), iwp); imageWriter.dispose();
writer.setOutput(ImageIO.createImageOutputStream(new File(pArgs[1]))); writer.write(image);
ImageWriteParam writeParam = writer.getDefaultWriteParam(); ImageTypeSpecifier typeSpecifier = ImageTypeSpecifier.createFromBufferedImageType(BufferedImage.TYPE_INT_RGB); IIOMetadata metadata = writer.getDefaultImageMetadata(typeSpecifier, writeParam); writer.setOutput(stream); writer.write(metadata, new IIOImage(gridImage, null, metadata), writeParam); } finally { stream.close();
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(); } }
@SuppressWarnings("ConstantConditions") @Test public void testWriteNull() throws IOException { ImageWriter writer = createImageWriter(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); writer.setOutput(ImageIO.createImageOutputStream(buffer)); try { writer.write((RenderedImage) null); } catch(IllegalArgumentException ignore) { } catch (IOException e) { fail(e.getMessage()); } assertTrue("Image data written", buffer.size() == 0); }
ImageWriter writer= (ImageWriter) ImageIO.getImageWritersByFormatName("jpeg").next(); ImageWriteParam param= writer.getDefaultWriteParam(); param.setCompressionMode(param.MODE_EXPLICIT); param.setCompressionType("JPEG-LS"); writer.setOutput(ImageIO.createImageOutputStream(new File(path))); writer.write(null, new IIOImage(image, null, null), param);
Iterator<ImageWriter> iter = ImageIO.getImageWritersByFormatName(getFormatName(format)); if (iter.hasNext()) { writer = (ImageWriter) iter.next(); try (ImageOutputStream ios = ImageIO.createImageOutputStream(stream)) { writer.setOutput(ios); ImageWriteParam iwparam = new JPEGImageWriteParam(Locale.getDefault()); iwparam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); iwparam.setCompressionQuality((quality / 100f)); writer.write( null, new IIOImage( new BufferedImage( realBitmap.getWidth(), realBitmap.getHeight(), BufferedImage.TYPE_BYTE_BINARY), iwparam); ios.flush(); writer.dispose();
@Test public void testAddIIOWriteProgressListenerCallbacks() throws IOException { ImageWriter writer = createImageWriter(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); writer.setOutput(ImageIO.createImageOutputStream(buffer)); IIOWriteProgressListener listener = mock(IIOWriteProgressListener.class); writer.addIIOWriteProgressListener(listener); try { writer.write(getTestData(0)); } catch (IOException e) { fail("Could not write image"); } // At least imageStarted and imageComplete, plus any number of imageProgress InOrder ordered = inOrder(listener); ordered.verify(listener).imageStarted(writer, 0); ordered.verify(listener, atLeastOnce()).imageProgress(eq(writer), anyInt()); ordered.verify(listener).imageComplete(writer); }
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()); }
@Test public void testWrite() throws IOException { ImageWriter writer = createImageWriter(); for (RenderedImage testData : getTestData()) { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); try (ImageOutputStream stream = ImageIO.createImageOutputStream(buffer)) { writer.setOutput(stream); writer.write(drawSomething((BufferedImage) testData)); } catch (IOException e) { fail(e.getMessage()); } assertTrue("No image data written", buffer.size() > 0); } }