Package javax.imageio.metadata

Examples of javax.imageio.metadata.IIOMetadata


            }

            writer.setOutput(imageOut);

            ImageWriteParam param = writer.getDefaultWriteParam();
            IIOMetadata streamMeta = writer.getDefaultStreamMetadata(param);
            //merge stream metadata
            streamMeta.mergeTree(ImageWrapper.GIF_STREAM_METADATA_NAME, imgWrapper.getStreamMetadata());
            writer.prepareWriteSequence(streamMeta);
            for (int i = 0; i < images.length; i++) {
                ImageTypeSpecifier imageType = new ImageTypeSpecifier(images[i].getColorModel(),
                                                                      images[i].getSampleModel());
                RenderedImage renderedImg = images[i];
                if (IndexImageBuilder.needConvertToIndex(renderedImg)) {
                    NodeUtils.removeChild(metadatas[i], "LocalColorTable");
                    renderedImg = IndexImageBuilder.createIndexedImage(renderedImg, quantAlg);
                }
                IIOMetadata meta = writer.getDefaultImageMetadata(imageType, param);
                meta.mergeTree(ImageWrapper.GIF_IMAGE_METADATA_NAME, metadatas[i]);

                IIOImage img = new IIOImage(renderedImg, null, meta);
                writer.writeToSequence(img, param);
            }
            writer.endWriteSequence();
View Full Code Here


                } else { //type 7 - these seem to crash the new 1.4 IO routines as far as I can see

                    boolean isYCC=false;
                    try{
                        IIOMetadata metadata = iir.getImageMetadata(0);
                        String metadataFormat = metadata.getNativeMetadataFormatName();
                        IIOMetadataNode iioNode = (IIOMetadataNode) metadata.getAsTree(metadataFormat);

                        NodeList children = iioNode.getElementsByTagName("app14Adobe");
                        if (children.getLength() > 0) {
                            isYCC=true;
                        }
View Full Code Here

    public byte[] writeAnimation(ImageAnimation animation) {

        ImageWriter writer = ImageIO.getImageWritersBySuffix("gif").next();
        ImageWriteParam param = writer.getDefaultWriteParam();
        ImageTypeSpecifier imageTypeSpecifier = ImageTypeSpecifier.createFromBufferedImageType(BufferedImage.TYPE_4BYTE_ABGR);
        IIOMetadata metaData = writer.getDefaultImageMetadata(imageTypeSpecifier, param);
        String metaFormatName = metaData.getNativeMetadataFormatName();

        IIOMetadataNode root = (IIOMetadataNode) metaData.getAsTree(metaFormatName);

        IIOMetadataNode graphicsControlExtensionNode = getNode(root, "GraphicControlExtension");
        graphicsControlExtensionNode.setAttribute("disposalMethod", "none");
        graphicsControlExtensionNode.setAttribute("userInputFlag", "FALSE");
        graphicsControlExtensionNode.setAttribute("transparentColorFlag", "FALSE");
        graphicsControlExtensionNode.setAttribute("delayTime", Integer.toString(animation.getFrameDuration() / 10));
        graphicsControlExtensionNode.setAttribute("transparentColorIndex", "0");

        IIOMetadataNode commentsNode = getNode(root, "CommentExtensions");
        commentsNode.setAttribute("CommentExtension", "Created by MAH");

        IIOMetadataNode appEntensionsNode = getNode(root, "ApplicationExtensions");

        IIOMetadataNode child = new IIOMetadataNode("ApplicationExtension");

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

        int loop = 0;

        child.setUserObject(new byte[] { 0x1, (byte) (loop & 0xFF), (byte)
                ((loop >> 8) & 0xFF) });
        appEntensionsNode.appendChild(child);

        ByteArrayOutputStream os = null;
        ImageOutputStream ios = null;
        try {
            os = new ByteArrayOutputStream();
            ios = new MemoryCacheImageOutputStream(os);
            metaData.setFromTree(metaFormatName, root);

            writer.setOutput(ios);
           
            writer.prepareWriteSequence(null);
View Full Code Here

                optimizeHuffman = jparam.getOptimizeHuffmanTables();
            }
        }

        // Now examine the metadata
        IIOMetadata mdata = image.getMetadata();
        if (mdata != null) {
            if (mdata instanceof JPEGMetadata) {
                metadata = (JPEGMetadata) mdata;
                if (debug) {
                    System.out.println
View Full Code Here

        // Compute total number of pixels for progress notification
        this.totalPixels = destWidth*destHeight;
        this.pixelsDone = 0;

        // Create metadata
        IIOMetadata imd = image.getMetadata();
        if (imd != null) {
            metadata = (PNGMetadata)convertImageMetadata(imd,
                               ImageTypeSpecifier.createFromRenderedImage(im),
                                                         null);
        } else {
View Full Code Here

        // Compute total number of pixels for progress notification
        this.totalPixels = destWidth*destHeight;
        this.pixelsDone = 0;

        // Create metadata
        IIOMetadata imd = image.getMetadata();
        if (imd != null) {
            metadata = (PNGMetadata)convertImageMetadata(imd,
                               ImageTypeSpecifier.createFromRenderedImage(im),
                                                         null);
        } else {
View Full Code Here

                                             ImageWriteParam param) {
        if (inData == null) {
            throw new IllegalArgumentException("inData == null!");
        }

        IIOMetadata sm = getDefaultStreamMetadata(param);

        convertMetadata(STREAM_METADATA_NAME, inData, sm);

        return sm;
    }
View Full Code Here

                sourceRegion = rect;
            else
                sourceRegion = sourceRegion.intersection(rect);
        }

        IIOMetadata imageMetadata = image.getMetadata();
        BMPMetadata bmpImageMetadata = null;
        if (imageMetadata != null
            && imageMetadata instanceof BMPMetadata)
        {
            bmpImageMetadata = (BMPMetadata)imageMetadata;
View Full Code Here

        ImageReader reader = getPNGImageReader();
        ImageInputStream iis = ImageIO.createImageInputStream(new FileInputStream(file));
        reader.setInput(iis);
        BufferedImage pngImage = reader.read(0);
        IIOMetadata imageMetadata = reader.getImageMetadata(0);

        Node root = imageMetadata.getAsTree(imageMetadata.getNativeMetadataFormatName());
        IIOMetadataNode textNode = new IIOMetadataNode("tEXt");
        ArrayList<Annotation> annotations = imagePanel.getAnnotations();
        for (int i = 0; i < annotations.size(); i++) {
            textNode.appendChild(getAnnotationNode((Annotation) annotations.get(i), i));
        }
        root.appendChild(textNode);

        imageMetadata.mergeTree(imageMetadata.getNativeMetadataFormatName(), root);

        IIOImage imageWrite = new IIOImage(pngImage, new ArrayList<BufferedImage>(), imageMetadata);

        ImageWriter writer = getPNGImageWriter();
        ImageOutputStream ios = ImageIO.createImageOutputStream(new FileOutputStream(file));
View Full Code Here

        Iterator<ImageReader> readers = ImageIO.getImageReaders(iis);
        if (readers.hasNext()) {
            ImageReader reader = (ImageReader) readers.next();
            reader.setInput(iis);
            image = reader.read(0);
            IIOMetadata imageMetadata = reader.getImageMetadata(0);
            Node root = imageMetadata.getAsTree(imageMetadata.getNativeMetadataFormatName());
            NodeList childNodes = root.getChildNodes();
            for (int i = 0; i < childNodes.getLength(); i++) {
                Node item = childNodes.item(i);
                if (item.getNodeName().equals("tEXt")) {
                    Node textNode = item;
View Full Code Here

TOP

Related Classes of javax.imageio.metadata.IIOMetadata

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.