Java Code Examples for javax.imageio.ImageIO.getImageWritersByMIMEType()
The following are Jave code examples for showing how to use
getImageWritersByMIMEType() of the
javax.imageio.ImageIO
class.
You can vote up the examples you like. Your votes will be used in our system to get
more good examples.
+ Save this method
Example 1
Project: lams File: BufferedImageHttpMessageConverter.java View Source Code | 5 votes |
/** * Sets the default {@code Content-Type} to be used for writing. * @throws IllegalArgumentException if the given content type is not supported by the Java Image I/O API */ public void setDefaultContentType(MediaType defaultContentType) { Assert.notNull(defaultContentType, "'contentType' must not be null"); Iterator<ImageWriter> imageWriters = ImageIO.getImageWritersByMIMEType(defaultContentType.toString()); if (!imageWriters.hasNext()) { throw new IllegalArgumentException( "Content-Type [" + defaultContentType + "] is not supported by the Java Image I/O API"); } this.defaultContentType = defaultContentType; }
Example 2
Project: lams File: BufferedImageHttpMessageConverter.java View Source Code | 5 votes |
private boolean isWritable(MediaType mediaType) { if (mediaType == null || MediaType.ALL.equals(mediaType)) { return true; } Iterator<ImageWriter> imageWriters = ImageIO.getImageWritersByMIMEType(mediaType.toString()); return imageWriters.hasNext(); }
Example 3
Project: OpenJSharp File: RuntimeBuiltinLeafInfoImpl.java View Source Code | 5 votes |
public Base64Data print(Image v) { ByteArrayOutputStreamEx imageData = new ByteArrayOutputStreamEx(); XMLSerializer xs = XMLSerializer.getInstance(); String mimeType = xs.getXMIMEContentType(); if(mimeType==null || mimeType.startsWith("image/*")) // because PNG is lossless, it's a good default // // mime type can be a range, in which case we can't just pass that // to ImageIO.getImageWritersByMIMEType, so here I'm just assuming // the default of PNG. Not sure if this is complete. mimeType = "image/png"; try { Iterator<ImageWriter> itr = ImageIO.getImageWritersByMIMEType(mimeType); if(itr.hasNext()) { ImageWriter w = itr.next(); ImageOutputStream os = ImageIO.createImageOutputStream(imageData); w.setOutput(os); w.write(convertToBufferedImage(v)); os.close(); w.dispose(); } else { // no encoder xs.handleEvent(new ValidationEventImpl( ValidationEvent.ERROR, Messages.NO_IMAGE_WRITER.format(mimeType), xs.getCurrentLocation(null) )); // TODO: proper error reporting throw new RuntimeException("no encoder for MIME type "+mimeType); } } catch (IOException e) { xs.handleError(e); // TODO: proper error reporting throw new RuntimeException(e); } Base64Data bd = new Base64Data(); imageData.set(bd,mimeType); return bd; }
Example 4
Project: openjdk-jdk10 File: GetReaderWriterInfo.java View Source Code | 5 votes |
private static void testGetWriterMIMETypes() { String[] types = ImageIO.getWriterMIMETypes(); for (String t : types) { Iterator<ImageWriter> it = ImageIO.getImageWritersByMIMEType(t); if (!it.hasNext()) { throw new RuntimeException("getWriterMIMETypes returned " + "an unknown type: " + t); } } }
Example 5
Project: openjdk-jdk10 File: RuntimeBuiltinLeafInfoImpl.java View Source Code | 5 votes |
public Base64Data print(Image v) { ByteArrayOutputStreamEx imageData = new ByteArrayOutputStreamEx(); XMLSerializer xs = XMLSerializer.getInstance(); String mimeType = xs.getXMIMEContentType(); if(mimeType==null || mimeType.startsWith("image/*")) // because PNG is lossless, it's a good default // // mime type can be a range, in which case we can't just pass that // to ImageIO.getImageWritersByMIMEType, so here I'm just assuming // the default of PNG. Not sure if this is complete. mimeType = "image/png"; try { Iterator<ImageWriter> itr = ImageIO.getImageWritersByMIMEType(mimeType); if(itr.hasNext()) { ImageWriter w = itr.next(); ImageOutputStream os = ImageIO.createImageOutputStream(imageData); w.setOutput(os); w.write(convertToBufferedImage(v)); os.close(); w.dispose(); } else { // no encoder xs.handleEvent(new ValidationEventImpl( ValidationEvent.ERROR, Messages.NO_IMAGE_WRITER.format(mimeType), xs.getCurrentLocation(null) )); // TODO: proper error reporting throw new RuntimeException("no encoder for MIME type "+mimeType); } } catch (IOException e) { xs.handleError(e); // TODO: proper error reporting throw new RuntimeException(e); } Base64Data bd = new Base64Data(); imageData.set(bd,mimeType); return bd; }
Example 6
Project: openaudible File: StandardImageHandler.java View Source Code | 5 votes |
/** * Write buffered image as required format * * @param bi * @param mimeType * @return * @throws IOException */ public byte[] writeImage(BufferedImage bi, String mimeType) throws IOException { Iterator<ImageWriter> writers = ImageIO.getImageWritersByMIMEType(mimeType); if (writers.hasNext()) { ImageWriter writer = writers.next(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); writer.setOutput(ImageIO.createImageOutputStream(baos)); writer.write(bi); return baos.toByteArray(); } throw new IOException("Cannot write to this mimetype"); }
Example 7
Project: lams File: BufferedImageHttpMessageConverter.java View Source Code | 4 votes |
@Override public void write(BufferedImage image, MediaType contentType, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException { if (contentType == null || contentType.isWildcardType() || contentType.isWildcardSubtype()) { contentType = getDefaultContentType(); } Assert.notNull(contentType, "Count not determine Content-Type, set one using the 'defaultContentType' property"); outputMessage.getHeaders().setContentType(contentType); ImageOutputStream imageOutputStream = null; ImageWriter imageWriter = null; try { imageOutputStream = createImageOutputStream(outputMessage.getBody()); Iterator<ImageWriter> imageWriters = ImageIO.getImageWritersByMIMEType(contentType.toString()); if (imageWriters.hasNext()) { imageWriter = imageWriters.next(); ImageWriteParam iwp = imageWriter.getDefaultWriteParam(); process(iwp); imageWriter.setOutput(imageOutputStream); imageWriter.write(null, new IIOImage(image, null, null), iwp); } else { throw new HttpMessageNotWritableException( "Could not find javax.imageio.ImageWriter for Content-Type [" + contentType + "]"); } } finally { if (imageWriter != null) { imageWriter.dispose(); } if (imageOutputStream != null) { try { imageOutputStream.close(); } catch (IOException ex) { // ignore } } } }
Example 8
Project: OpenJSharp File: XDataTransferer.java View Source Code | 4 votes |
public LinkedHashSet<String> getPlatformMappingsForFlavor(DataFlavor df) { LinkedHashSet<String> natives = new LinkedHashSet<>(1); if (df == null) { return natives; } String charset = df.getParameter("charset"); String baseType = df.getPrimaryType() + "/" + df.getSubType(); String mimeType = baseType; if (charset != null && DataTransferer.isFlavorCharsetTextType(df)) { mimeType += ";charset=" + charset; } // Add a mapping to the MIME native whenever the representation class // doesn't require translation. if (df.getRepresentationClass() != null && (df.isRepresentationClassInputStream() || df.isRepresentationClassByteBuffer() || byte[].class.equals(df.getRepresentationClass()))) { natives.add(mimeType); } if (DataFlavor.imageFlavor.equals(df)) { String[] mimeTypes = ImageIO.getWriterMIMETypes(); if (mimeTypes != null) { for (int i = 0; i < mimeTypes.length; i++) { Iterator writers = ImageIO.getImageWritersByMIMEType(mimeTypes[i]); while (writers.hasNext()) { ImageWriter imageWriter = (ImageWriter)writers.next(); ImageWriterSpi writerSpi = imageWriter.getOriginatingProvider(); if (writerSpi != null && writerSpi.canEncodeImage(getDefaultImageTypeSpecifier())) { natives.add(mimeTypes[i]); break; } } } } } else if (DataTransferer.isFlavorCharsetTextType(df)) { // stringFlavor is semantically equivalent to the standard // "text/plain" MIME type. if (DataFlavor.stringFlavor.equals(df)) { baseType = "text/plain"; } for (String encoding : DataTransferer.standardEncodings()) { if (!encoding.equals(charset)) { natives.add(baseType + ";charset=" + encoding); } } // Add a MIME format without specified charset. if (!natives.contains(baseType)) { natives.add(baseType); } } return natives; }
Example 9
Project: jdk8u-jdk File: XDataTransferer.java View Source Code | 4 votes |
public LinkedHashSet<String> getPlatformMappingsForFlavor(DataFlavor df) { LinkedHashSet<String> natives = new LinkedHashSet<>(1); if (df == null) { return natives; } String charset = df.getParameter("charset"); String baseType = df.getPrimaryType() + "/" + df.getSubType(); String mimeType = baseType; if (charset != null && DataTransferer.isFlavorCharsetTextType(df)) { mimeType += ";charset=" + charset; } // Add a mapping to the MIME native whenever the representation class // doesn't require translation. if (df.getRepresentationClass() != null && (df.isRepresentationClassInputStream() || df.isRepresentationClassByteBuffer() || byte[].class.equals(df.getRepresentationClass()))) { natives.add(mimeType); } if (DataFlavor.imageFlavor.equals(df)) { String[] mimeTypes = ImageIO.getWriterMIMETypes(); if (mimeTypes != null) { for (int i = 0; i < mimeTypes.length; i++) { Iterator writers = ImageIO.getImageWritersByMIMEType(mimeTypes[i]); while (writers.hasNext()) { ImageWriter imageWriter = (ImageWriter)writers.next(); ImageWriterSpi writerSpi = imageWriter.getOriginatingProvider(); if (writerSpi != null && writerSpi.canEncodeImage(getDefaultImageTypeSpecifier())) { natives.add(mimeTypes[i]); break; } } } } } else if (DataTransferer.isFlavorCharsetTextType(df)) { // stringFlavor is semantically equivalent to the standard // "text/plain" MIME type. if (DataFlavor.stringFlavor.equals(df)) { baseType = "text/plain"; } for (String encoding : DataTransferer.standardEncodings()) { if (!encoding.equals(charset)) { natives.add(baseType + ";charset=" + encoding); } } // Add a MIME format without specified charset. if (!natives.contains(baseType)) { natives.add(baseType); } } return natives; }
Example 10
Project: openjdk-jdk10 File: XDataTransferer.java View Source Code | 4 votes |
@Override public LinkedHashSet<String> getPlatformMappingsForFlavor(DataFlavor df) { LinkedHashSet<String> natives = new LinkedHashSet<>(1); if (df == null) { return natives; } String charset = df.getParameter("charset"); String baseType = df.getPrimaryType() + "/" + df.getSubType(); String mimeType = baseType; if (charset != null && DataFlavorUtil.isFlavorCharsetTextType(df)) { mimeType += ";charset=" + charset; } // Add a mapping to the MIME native whenever the representation class // doesn't require translation. if (df.getRepresentationClass() != null && (df.isRepresentationClassInputStream() || df.isRepresentationClassByteBuffer() || byte[].class.equals(df.getRepresentationClass()))) { natives.add(mimeType); } if (DataFlavor.imageFlavor.equals(df)) { String[] mimeTypes = ImageIO.getWriterMIMETypes(); if (mimeTypes != null) { for (String mime : mimeTypes) { Iterator<ImageWriter> writers = ImageIO.getImageWritersByMIMEType(mime); while (writers.hasNext()) { ImageWriter imageWriter = writers.next(); ImageWriterSpi writerSpi = imageWriter.getOriginatingProvider(); if (writerSpi != null && writerSpi.canEncodeImage(getDefaultImageTypeSpecifier())) { natives.add(mime); break; } } } } } else if (DataFlavorUtil.isFlavorCharsetTextType(df)) { // stringFlavor is semantically equivalent to the standard // "text/plain" MIME type. if (DataFlavor.stringFlavor.equals(df)) { baseType = "text/plain"; } for (String encoding : DataFlavorUtil.standardEncodings()) { if (!encoding.equals(charset)) { natives.add(baseType + ";charset=" + encoding); } } // Add a MIME format without specified charset. if (!natives.contains(baseType)) { natives.add(baseType); } } return natives; }
Example 11
Project: openaudible File: StandardImageHandler.java View Source Code | 4 votes |
public boolean isMimeTypeWritable(String mimeType) { Iterator<ImageWriter> writers = ImageIO.getImageWritersByMIMEType(mimeType); return writers.hasNext(); }