List of usage examples for javax.imageio ImageIO getImageReadersByMIMEType
public static Iterator<ImageReader> getImageReadersByMIMEType(String MIMEType)
From source file:org.exoplatform.wcm.ext.component.activity.FileUIActivity.java
protected int getImageHeight(Node node) { int imageHeight = 0; try {//from ww w . j av a2 s . c om if (node.hasNode(NodetypeConstant.JCR_CONTENT)) node = node.getNode(NodetypeConstant.JCR_CONTENT); ImageReader reader = ImageIO.getImageReadersByMIMEType(mimeType).next(); ImageInputStream iis = ImageIO.createImageInputStream(node.getProperty("jcr:data").getStream()); reader.setInput(iis, true); imageHeight = reader.getHeight(0); iis.close(); reader.dispose(); } catch (Exception e) { LOG.info("Cannot get node"); } return imageHeight; }
From source file:org.exoplatform.wcm.notification.plugin.FileActivityChildPlugin.java
private int getImageWidth(Node node) { int imageWidth = 0; try {/*w ww . j av a 2s. c om*/ if (node.hasNode(NodetypeConstant.JCR_CONTENT)) node = node.getNode(NodetypeConstant.JCR_CONTENT); ImageReader reader = ImageIO.getImageReadersByMIMEType(mimeType).next(); ImageInputStream iis = ImageIO.createImageInputStream(node.getProperty("jcr:data").getStream()); reader.setInput(iis, true); imageWidth = reader.getWidth(0); iis.close(); reader.dispose(); } catch (RepositoryException | IOException e) { if (LOG.isWarnEnabled()) { LOG.warn("Can not get image width in " + this.getClass().getName()); } } return imageWidth; }
From source file:org.exoplatform.wcm.notification.plugin.FileActivityChildPlugin.java
private int getImageHeight(Node node) { int imageHeight = 0; try {/*w w w.j a v a2s. c om*/ if (node.hasNode(NodetypeConstant.JCR_CONTENT)) node = node.getNode(NodetypeConstant.JCR_CONTENT); ImageReader reader = ImageIO.getImageReadersByMIMEType(mimeType).next(); ImageInputStream iis = ImageIO.createImageInputStream(node.getProperty("jcr:data").getStream()); reader.setInput(iis, true); imageHeight = reader.getHeight(0); iis.close(); reader.dispose(); } catch (RepositoryException | IOException e) { if (LOG.isWarnEnabled()) { LOG.warn("Can not get image height in " + this.getClass().getName()); } } return imageHeight; }
From source file:org.hippoecm.frontend.plugins.gallery.imageutil.ImageUtils.java
/** * Returns an image reader for a MIME type. * * @param aMimeType MIME type/*from w w w. j a v a2s .c o m*/ * @return an image reader for the given MIME type, or <code>null</code> if no image reader could be created * for the given MIME type. */ public static ImageReader getImageReader(String aMimeType) { String mimeType = MimeTypeHelper.sanitizeMimeType(aMimeType); Iterator<ImageReader> readers = ImageIO.getImageReadersByMIMEType(mimeType); if (readers == null || !readers.hasNext()) { return null; } return readers.next(); }
From source file:org.hippoecm.frontend.plugins.gallery.imageutil.ScaleImageOperationTest.java
private void checkImageDimensions(ScaleImageOperation scaleOp, String mimeType, int expectedWidth, int expectedHeight) throws IOException { assertEquals(expectedWidth, scaleOp.getScaledWidth()); assertEquals(expectedHeight, scaleOp.getScaledHeight()); ImageReader reader = ImageIO.getImageReadersByMIMEType(mimeType).next(); ImageInputStream iis = null;/*from w ww . j a va2 s .co m*/ try { iis = ImageIO.createImageInputStream(scaleOp.getScaledData()); reader.setInput(iis); assertEquals(scaleOp.getScaledWidth(), reader.getWidth(0)); assertEquals(scaleOp.getScaledHeight(), reader.getHeight(0)); } finally { if (iis != null) { iis.close(); } } }
From source file:org.jahia.services.image.AbstractJava2DImageService.java
protected boolean canRead(JCRNodeWrapper node) throws RepositoryException { Node contentNode = node.getNode(Constants.JCR_CONTENT); String mimeType = contentNode.getProperty(Constants.JCR_MIMETYPE).getString(); Iterator<ImageReader> imageReaderIterator = ImageIO.getImageReadersByMIMEType(mimeType); if (imageReaderIterator.hasNext()) { // now let's check if we can also write it. Iterator<ImageWriter> imageWriterIterator = ImageIO.getImageWritersByMIMEType(mimeType); if (imageWriterIterator.hasNext()) { return true; } else {//from w ww .j a v a 2 s.co m return false; } } else { return false; } }
From source file:org.paxle.gui.impl.servlets.ConfigView.java
public void writeImage(HttpServletRequest request, HttpServletResponse response, Context context) throws Exception { final String pid = request.getParameter("pid"); if (pid == null) { response.sendError(501, "No pid supplied."); return;//from w w w. j a v a 2 s.c om } final String bundleID = request.getParameter("bundleID"); if (bundleID == null) { response.sendError(501, "No bundle-ID supplied."); return; } final ConfigTool configTool = (ConfigTool) context.get(ConfigTool.TOOL_NAME); if (configTool == null) { response.sendError(501, "Config-Tool not found."); return; } final Configurable configurabel = configTool.getConfigurable(Integer.valueOf(bundleID), pid); if (configurabel == null) { response.sendError(501, String .format("No configurable component found for bundle-ID '%s' and PID '%s'.", bundleID, pid)); return; } // loading metadata final ObjectClassDefinition ocd = configurabel.getObjectClassDefinition(); if (ocd == null) { response.sendError(501, String.format("No ObjectClassDefinition found for service with PID '%s'.", pid)); return; } try { // trying to find a proper icon final int[] sizes = new int[] { 16, 32, 64, 128, 256 }; BufferedImage img = null; for (int size : sizes) { // trying to find an icon InputStream in = ocd.getIcon(size); if (in == null) { if (size == sizes[sizes.length - 1]) { // fallback to the default image in = this.getClass().getResourceAsStream("/resources/images/cog.png"); } else continue; } // loading date final ByteArrayOutputStream bout = new ByteArrayOutputStream(); IOUtils.copy(in, bout); bout.close(); in.close(); // trying to detect the mimetype of the image ByteArrayInputStream bin = new ByteArrayInputStream(bout.toByteArray()); String contentType = URLConnection.guessContentTypeFromStream(bin); bin.close(); Iterator<ImageReader> readers = null; if (contentType != null) { readers = ImageIO.getImageReadersByMIMEType(contentType); } else { readers = ImageIO.getImageReadersByFormatName("png"); } while (readers.hasNext() && img == null) { // trying the next reader final ImageReader reader = readers.next(); InputStream input = null; try { input = new ByteArrayInputStream(bout.toByteArray()); reader.setInput(ImageIO.createImageInputStream(input)); img = reader.read(0); } catch (Exception e) { this.log("Unable to read image for pid " + pid, e); } finally { if (input != null) input.close(); } } if (img != null) { response.setHeader("Content-Type", "image/png"); ImageIO.write(img, "png", response.getOutputStream()); return; } } // no icon found. response.sendError(404); } catch (Throwable e) { response.sendError(404, e.getMessage()); return; } }
From source file:org.paxle.gui.impl.servlets.MetaDataIconServlet.java
@Override protected void doRequest(HttpServletRequest request, HttpServletResponse response) { try {/*from ww w .j av a 2 s .c o m*/ final Context context = this.getVelocityView().createContext(request, response); final String servicePID = request.getParameter(REQ_PARAM_SERVICEPID); if (servicePID != null) { // getting the metaDataTool final MetaDataTool tool = (MetaDataTool) context.get(MetaDataTool.TOOL_NAME); if (tool == null) { this.log("No MetaDataTool found"); return; } final IMetaData metaData = tool.getMetaData(servicePID); if (metaData == null) { this.log(String.format("No metadata found for service with PID '%s'.", servicePID)); return; } // getting the icon InputStream in = metaData.getIcon(16); if (in == null) in = this.getClass().getResourceAsStream("/resources/images/cog.png"); // loading date final ByteArrayOutputStream bout = new ByteArrayOutputStream(); IOUtils.copy(in, bout); bout.close(); in.close(); // trying to detect the mimetype of the image final ByteArrayInputStream bin = new ByteArrayInputStream(bout.toByteArray()); String contentType = URLConnection.guessContentTypeFromStream(bin); bin.close(); // reading the image BufferedImage img = null; Iterator<ImageReader> readers = null; if (contentType != null) { readers = ImageIO.getImageReadersByMIMEType(contentType); while (readers != null && readers.hasNext() && img == null) { // trying the next reader ImageReader reader = readers.next(); InputStream input = null; try { input = new ByteArrayInputStream(bout.toByteArray()); reader.setInput(ImageIO.createImageInputStream(input)); img = reader.read(0); } catch (Exception e) { this.log(String.format("Unable to read metadata icon for service with PID '%s'.", servicePID), e); } finally { if (input != null) input.close(); } } } if (img != null) { response.setHeader("Content-Type", "image/png"); ImageIO.write(img, "png", response.getOutputStream()); return; } else { response.sendError(404); return; } } else { response.sendError(500, "Invalid usage"); } } catch (Throwable e) { this.log(String.format("Unexpected '%s'.", e.getClass().getName()), e); } }