IIOMetadata metadata = writer.getDefaultImageMetadata(typeSpecifier, writeParam);
/** * add an image to the animation * @param image the image * @param delayMillis the frame time of the image in milliseconds * @param transparencyColorIndex the index of the transparent color, -1 if not used * @throws IOException */ public void addImage(RenderedImage image, int delayMillis, int transparencyColorIndex) throws IOException { if (this.counter == 0) { iiom = writer.getDefaultImageMetadata(ImageTypeSpecifier.createFromRenderedImage(image), iwp); writer.prepareWriteSequence(writer.getDefaultStreamMetadata(iwp)); } if (this.counter == 0 && loops >= 0) { IIOMetadata imageMetadata2 = writer.getDefaultImageMetadata(ImageTypeSpecifier.createFromRenderedImage(image), iwp); try { setMetadata(imageMetadata2, delayMillis, transparencyColorIndex); setLoops(imageMetadata2, this.loops); writer.writeToSequence(new IIOImage(image, null, imageMetadata2), iwp); } catch (final IIOInvalidTreeException e) { throw new IOException(e.getMessage()); } } else try { setMetadata(iiom, delayMillis, transparencyColorIndex); writer.writeToSequence(new IIOImage(image, null, iiom), iwp); } catch (final IIOInvalidTreeException e) { throw new IOException(e.getMessage()); } this.counter++; }
ImageWriteParam writeParam = writer.getDefaultWriteParam(); ImageTypeSpecifier typeSpecifier = ImageTypeSpecifier.createFromBufferedImageType(BufferedImage.TYPE_INT_RGB); IIOMetadata metadata = writer.getDefaultImageMetadata(typeSpecifier, writeParam); if (metadata.isReadOnly() || !metadata.isStandardMetadataFormatSupported()) { continue;
@Override public IIOMetadata getDefaultImageMetadata(final ImageTypeSpecifier imageType, final ImageWriteParam param) { return delegate.getDefaultImageMetadata(imageType, param); }
IIOMetadata data = imageWriter.getDefaultImageMetadata(imageTypeSpecifier, jpegParam); Element tree = (Element)data.getAsTree("javax_imageio_jpeg_image_1.0"); Element jfif = (Element)tree.getElementsByTagName("app0JFIF").item(0);
IIOMetadata imageMetadata = writer.getDefaultImageMetadata(imageType, param); imageMetadata = setDPIViaAPI(imageMetadata, dpiX, dpiY); oimage.setMetadata(imageMetadata);
imageWriter.setOutput(ios); IIOMetadata imageMetaData = imageWriter.getDefaultImageMetadata(new ImageTypeSpecifier(bufferedImage), null);
IIOMetadata imageMetadata = writer.getDefaultImageMetadata(imageType, param); imageMetadata = setDPIViaAPI(imageMetadata, dpiX, dpiY); iioImage.setMetadata(imageMetadata);
IIOMetadata metadata = writer.getDefaultImageMetadata(typeSpecifier, iwp); if (metadata.isReadOnly() || !metadata.isStandardMetadataFormatSupported()) { throw new IllegalArgumentException(
metadata = writer.getDefaultImageMetadata(new ImageTypeSpecifier(image), param); if (metadata != null && !metadata.isReadOnly()
/** * No easy way to figure out what htis one as as the stream meta-data isn't * yet available. Suggest only using this after starting to write the * stream, as at that point, the child writer will be available. */ @Override public IIOMetadata getDefaultImageMetadata(ImageTypeSpecifier image, ImageWriteParam writeParam) { if (writer != null) return writer.getDefaultImageMetadata(image, writeParam); return null; }
IIOMetadata metadata = delegate.getDefaultImageMetadata(destinationType, param);
@Override public IIOMetadata getDefaultImageMetadata(final ImageTypeSpecifier imageType, final ImageWriteParam param) { return delegate.getDefaultImageMetadata(imageType, param); }
ImageWriteParam params) throws IIOException { IIOMetadata imageMetadata = writer.getDefaultImageMetadata(type, params); imageMetadata = writer.convertImageMetadata(imageMetadata, type, params); org.w3c.dom.Element w3cElement =
// Image writer ImageWriter imageWriter = (ImageWriter)ImageIO.getImageWritersBySuffix(“jpeg”).next(); ImageOutputStream ios = ImageIO.createImageOutputStream(jpegOutputStream); imageWriter.setOutput(ios); IIOMetadata imageMetaData = imageWriter.getDefaultImageMetadata(new ImageTypeSpecifier(challenge), null); imageWriter.write(imageMetaData, new IIOImage(challenge, null, null), null);
public byte[] toBytes(BufferedImage image) throws IOException { if (baos == null) { baos = new ByteArrayOutputStream(); } else { baos.reset(); } writer.setOutput(ImageIO.createImageOutputStream(baos)); // Create a new empty metadata set IIOMetadata metadata = writer.getDefaultImageMetadata( new ImageTypeSpecifier(image.getColorModel(), image.getSampleModel()), writeParam); writer.write(new IIOImage(image, Collections.<BufferedImage>emptyList(), metadata)); return baos.toByteArray(); } }
public byte[] toBytes(BufferedImage image) throws IOException { if (baos == null) { baos = new ByteArrayOutputStream(); } else { baos.reset(); } writer.setOutput(ImageIO.createImageOutputStream(baos)); // Create a new empty metadata set IIOMetadata metadata = writer.getDefaultImageMetadata( new ImageTypeSpecifier(image.getColorModel(), image.getSampleModel()), writeParam); writer.write(new IIOImage(image, Collections.<BufferedImage>emptyList(), metadata)); return baos.toByteArray(); } }
@Override public IIOMetadata newImageMetadata(RenderedImage image, PdfToJpegParameters params, ImageWriteParam writerParams) { // new metadatad IIOMetadata imageMetaData = null; try { imageMetaData = writer.getDefaultImageMetadata(new ImageTypeSpecifier(image), writerParams); Element tree = (Element) imageMetaData.getAsTree("javax_imageio_jpeg_image_1.0"); Element jfif = (Element) tree.getElementsByTagName("app0JFIF").item(0); jfif.setAttribute("Xdensity", Integer.toString(params.getResolutionInDpi())); jfif.setAttribute("Ydensity", Integer.toString(params.getResolutionInDpi())); jfif.setAttribute("resUnits", "1"); imageMetaData.setFromTree("javax_imageio_jpeg_image_1.0", tree); } catch (Exception e1) { LOG.warn("Failed to set DPI for image, metadata manipulation failed", e1); } return imageMetaData; }
public class MetadataTest { public static void main(String[] args) throws IOException { BufferedImage image = new BufferedImage(100, 100, BufferedImage.TYPE_3BYTE_BGR); ImageWriter writer = ImageIO.getImageWritersByFormatName("jpeg").next(); writer.setOutput(ImageIO.createImageOutputStream(new File("foo.jpg"))); ImageWriteParam param = writer.getDefaultWriteParam(); IIOMetadata metadata = writer.getDefaultImageMetadata(ImageTypeSpecifier.createFromRenderedImage(image), param); IIOMetadataNode root = (IIOMetadataNode) metadata.getAsTree(metadata.getNativeMetadataFormatName()); IIOMetadataNode jfif = (IIOMetadataNode) root.getElementsByTagName("app0JFIF").item(0); jfif.setAttribute("resUnits", "1"); jfif.setAttribute("Xdensity", "300"); jfif.setAttribute("Ydensity", "300"); metadata.mergeTree(metadata.getNativeMetadataFormatName(), root); writer.write(null, new IIOImage(image, null, metadata), param); } }
private static IIOMetadata metadata(final ImageWriter writer, final ImageWriteParam writeParam) throws IIOInvalidTreeException { final ImageTypeSpecifier typeSpecifier = createFromBufferedImageType(BufferedImage.TYPE_INT_RGB); final IIOMetadata metadata = writer.getDefaultImageMetadata(typeSpecifier, writeParam); // Create metadata final IIOMetadataNode root = new IIOMetadataNode(FORMAT_NAME); final IIOMetadataNode text = new IIOMetadataNode("tEXt"); final IIOMetadataNode textEntry = new IIOMetadataNode("tEXtEntry"); textEntry.setAttribute("keyword", JIRA_SYSTEM_IMAGE_TYPE); textEntry.setAttribute("value", AVATAR_SYSTEM_IMAGE_TYPE); textEntry.setAttribute("encoding", "UTF-8"); textEntry.setAttribute("language", "EN"); textEntry.setAttribute("compression", "none"); text.appendChild(textEntry); root.appendChild(text); metadata.mergeTree(FORMAT_NAME, root); return metadata; } }