Package javax.imageio

Examples of javax.imageio.ImageWriter


   
    //drawData(g);
    paintComponent(g);
   
      Iterator writers = ImageIO.getImageWritersByFormatName("png");
      ImageWriter writer = (ImageWriter)writers.next();
     
      File f = new File(filename);
      ImageOutputStream ios;
    try
    {
      //System.out.println("trying to create stream and write...");
      ios = ImageIO.createImageOutputStream(f);
        writer.setOutput(ios);
        writer.write(bi);
    }
    catch (IOException e)
    {
      System.out.println("bummer, exception while trying to create streat and write.");
      // TODO Auto-generated catch block
View Full Code Here


            g.setFont(new Font("SansSerif", Font.PLAIN, 48));
            g.drawString(label, 50, 50);
            g.dispose();
           
            Iterator<ImageWriter> writers = ImageIO.getImageWritersByFormatName("jpg");
            ImageWriter writer = writers.next();
            if (writer == null) {
                throw new RuntimeException("JPG not supported?!");
            }

            final ByteArrayOutputStream out = new ByteArrayOutputStream();

            byte[] imageBytes = null;
            try {

                ImageOutputStream imageOut = ImageIO.createImageOutputStream(out);
                writer.setOutput(imageOut);
                writer.write(image);
                imageOut.close();
                imageBytes = out.toByteArray();
            } catch (IOException e) {
                e.printStackTrace();
            }
View Full Code Here

     * @return BufferedImage representation of the image
     *
     */
    public static void imageToBitmap(BufferedImage image, String data, String format) throws IOException {
        final OutputStream inb = new FileOutputStream(data);
        final ImageWriter wrt = ImageIO.getImageWritersByFormatName(format).next();
        final ImageInputStream imageInput = ImageIO.createImageOutputStream(inb);
        wrt.setOutput(imageInput);
        wrt.write(image);
        inb.close();
    }
View Full Code Here

    private static ImageWriter getSequenceCapableImageWriter(ImageType imageType) {
        Iterator<ImageWriter> imageWriters = ImageIO.getImageWritersByFormatName(imageType.getFormatName());

        while (imageWriters.hasNext()) {
            ImageWriter imageWriter = imageWriters.next();

            if (imageWriter.canWriteSequence()) {
                return imageWriter;
            }
        }

        throw new IllegalArgumentException(MessageFormat.format("Cannot find sequence-capable image writer for {0} format",
View Full Code Here

    protected void paintAndWrite(ImageOutputStream outputStream) throws IOException {
        Java2DAnimatedUserResource userResource = (Java2DAnimatedUserResource) getWrapped();

        ImageType imageType = userResource.getImageType();
        checkSupportedFormat(imageType);
        ImageWriter imageWriter = getSequenceCapableImageWriter(imageType);
        Dimension dimension = userResource.getDimension();
        BufferedImage image = imageType.createImage(dimension);

        try {
            imageWriter.setOutput(outputStream);

            ImageWriteParam defaultImageWriteParam = imageWriter.getDefaultWriteParam();
            IIOMetadata imageMetaData = imageWriter.getDefaultImageMetadata(
                ImageTypeSpecifier.createFromBufferedImageType(BufferedImage.TYPE_INT_RGB), defaultImageWriteParam);
            String metaFormatName = imageMetaData.getNativeMetadataFormatName();
            Node root = imageMetaData.getAsTree(metaFormatName);
            IIOMetadataNode graphicsControlExtensionNode = (IIOMetadataNode) getOrCreateChild(root, "GraphicControlExtension");

            // http://java.sun.com/javase/6/docs/api/javax/imageio/metadata/doc-files/gif_metadata.html
            graphicsControlExtensionNode.setAttribute("disposalMethod", "none");
            graphicsControlExtensionNode.setAttribute("userInputFlag", "FALSE");
            graphicsControlExtensionNode.setAttribute("transparentColorFlag", "FALSE");
            graphicsControlExtensionNode.setAttribute("delayTime", Integer.toString(userResource.getFrameDelay() / 100));
            graphicsControlExtensionNode.setAttribute("transparentColorIndex", "0");

            Node applicationExtensionsNode = getOrCreateChild(root, "ApplicationExtensions");
            IIOMetadataNode netscapeExtension = new IIOMetadataNode("ApplicationExtension");

            netscapeExtension.setAttribute("applicationID", "NETSCAPE");
            netscapeExtension.setAttribute("authenticationCode", "2.0");

            byte numLoops = (byte) (userResource.isLooped() ? 0x0 : 0x1);

            netscapeExtension.setUserObject(new byte[] { 0x1, numLoops, 0x0 });
            applicationExtensionsNode.appendChild(netscapeExtension);
            imageMetaData.setFromTree(metaFormatName, root);

            imageWriter.prepareWriteSequence(null);

            userResource.startFramesSequence();

            while (userResource.hasNextFrame()) {
                Graphics2D g2d = null;
                try {
                    g2d = createGraphics(image);
                    userResource.paint(g2d);
                    imageWriter.writeToSequence(new IIOImage(image, null, imageMetaData), defaultImageWriteParam);
                } finally {
                    if (g2d != null) {
                        g2d.dispose();
                    }
                }
            }

            imageWriter.endWriteSequence();
        } finally {
            imageWriter.dispose();
        }
    }
View Full Code Here

                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                ImageWriteParam iwparam = new JPEGImageWriteParam(Locale.getDefault());
                iwparam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
                iwparam.setCompressionQuality(jpegQuality);//Set here your compression rate
                ImageWriter iw = ImageIO.getImageWritersByFormatName("jpg").next();
                ImageOutputStream ios = ImageIO.createImageOutputStream(baos);
                iw.setOutput(ios);
                iw.write(null, new IIOImage(scaled, null, null), iwparam);
                iw.dispose();
                ios.close();

                scaled.flush();
                scaled = null;
                image = com.itextpdf.text.Image.getInstance(baos.toByteArray());
View Full Code Here

                throw new IOException(
                    "ImageDataContentHandler requires Image object, "
                    + "was given object of type "
                    + obj.getClass().toString());
            }
            ImageWriter writer = null;
            Iterator i = ImageIO.getImageWritersByMIMEType(type);
            if (i.hasNext()) {
                writer = (ImageWriter)i.next();
            }
            if (writer != null) {
                ImageOutputStream stream = null;
                stream = ImageIO.createImageOutputStream(os);
                writer.setOutput(stream);
                writer.write(bufImage);
                writer.dispose();
                stream.close();
            } else {
                log.log(Level.SEVERE, "SAAJ0526.soap.unsupported.mime.type",
                    new String[] { type });
                throw new IOException("Unsupported mime type:"+ type);
View Full Code Here

    private ImageWriter getWriter(){
        initReader();
        final Iterator<ImageWriter> iwrite =
                ImageIO.getImageWritersByMIMEType("image/jpeg");
        ImageWriter writer = (jpegWriter == null) ? iwrite.next() : jpegWriter;
        final List<String> allowedWriters = (reader == null)
                ? null
                : Arrays.asList(
                    reader.getOriginatingProvider().getImageWriterSpiNames());
        while(true){
            final String writerSPI =
                    writer.getOriginatingProvider().getClass().getName();
            if(allowedWriters == null ||
               allowedWriters.contains(writerSPI) ||
               !iwrite.hasNext()
            ){
                writer.addIIOWriteWarningListener(iioListener);
                break;
            }
           
            writer.dispose();
            writer = iwrite.next();
        }
        //System.err.println("Using writer " + writer.getClass().getName());
        return writer;
    }
View Full Code Here

            float quality)
    throws IOException
    {
        boolean bSuccess = true;
        ImageOutputStream output = null;
        ImageWriter imageWriter = null;
        try
        {
            output = ImageIO.createImageOutputStream( outputStream );
   
            boolean foundWriter = false;
            Iterator<ImageWriter> writerIter = ImageIO.getImageWritersByFormatName( imageFormat );
            while( writerIter.hasNext() && !foundWriter )
            {
                try
                {
                    imageWriter = (ImageWriter)writerIter.next();
                    ImageWriteParam writerParams = imageWriter.getDefaultWriteParam();
                    if( writerParams.canWriteCompressed() )
                    {
                        writerParams.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
                        // reset the compression type if overwritten by setCompressionMode
                        if (writerParams.getCompressionType() == null)
                        {
                            writerParams.setCompressionType(writerParams.getCompressionTypes()[0]);
                        }
                        writerParams.setCompressionQuality(quality);
                    }
                    IIOMetadata meta = createMetadata( image, imageWriter, writerParams, resolution);
                    imageWriter.setOutput( output );
                    imageWriter.write( null, new IIOImage( image, null, meta ), writerParams );
                    foundWriter = true;
                }
                catch( IIOException io )
                {
                    throw new IOException( io.getMessage() );
                }
                finally
                {
                    if( imageWriter != null )
                    {
                        imageWriter.dispose();
                    }
                }
            }
            if( !foundWriter )
            {
View Full Code Here

        //
        // Getting a writer
        //
        // /////////////////////////////////////////////////////////////////
        final Iterator it = ImageIO.getImageWritersByMIMEType("image/png");
        ImageWriter writer = null;

        if (!it.hasNext()) {
            throw new IllegalStateException("No PNG ImageWriter found");
        } else {
            writer = (ImageWriter) it.next();
        }

        // /////////////////////////////////////////////////////////////////
        //
        // Compression is available only on native lib
        //
        // /////////////////////////////////////////////////////////////////
        final ImageWriteParam iwp = writer.getDefaultWriteParam();

        if (writer.getClass().getName()
                      .equals("com.sun.media.imageioimpl.plugins.png.CLibPNGImageWriter")) {
            iwp.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);

            iwp.setCompressionQuality(0.75f); // we can control quality here
        }

        writer.setOutput(memOutStream);
        writer.write(null, new IIOImage(finalImage, null, null), iwp);
        memOutStream.flush();
        memOutStream.close();
        writer.dispose();
    }
View Full Code Here

TOP

Related Classes of javax.imageio.ImageWriter

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.