List of usage examples for javax.imageio ImageIO getImageReadersByFormatName
public static Iterator<ImageReader> getImageReadersByFormatName(String formatName)
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 www. ja v a 2s. 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.geoserver.wcs.GetCoverageTest.java
/** * This tests just ended up throwing an exception as the coverage being encoded * was too large due to a bug in the scales estimation * /* w w w.j ava2s . com*/ * @throws Exception */ @Test public void testRotatedPost() throws Exception { String request = "<GetCoverage xmlns=\"http://www.opengis.net/wcs/1.1.1\" xmlns:gml=\"http://www.opengis.net/gml\"\n" + " xmlns:ows11=\"http://www.opengis.net/ows/1.1\"\n" + " xmlns:ows=\"http://www.opengis.net/ows/1.1\"\n" + " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \r\n" + // " xmlns:wcs=\"http://schemas.opengis.net/wcs/1.1.1\"\n" + " xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n" + " service=\"WCS\"\n" + " version=\"1.1.1\"\n" + " xsi:schemaLocation=\"http://www.opengis.net/wcs/1.1.1 http://schemas.opengis.net/wcs/1.1.1/wcsAll.xsd\">\n" + " <ows11:Identifier>RotatedCad</ows11:Identifier>\n" + " <DomainSubset>\n" + " <ows11:BoundingBox crs=\"urn:ogc:def:crs:OGC:1.3:CRS84\">\n" + " <ows11:LowerCorner>7.7634301664746515 45.14713380418506</ows11:LowerCorner>\n" + " <ows11:UpperCorner>7.764350661575157 45.14763319238466</ows11:UpperCorner>\n" + " </ows11:BoundingBox>\n" + " </DomainSubset>\n" + " <Output format=\"image/tiff\"/>\n" + "</GetCoverage>"; MockHttpServletResponse response = postAsServletResponse("wcs", request); // parse the multipart, check there are two parts Multipart multipart = getMultipart(response); assertEquals(2, multipart.getCount()); BodyPart coveragePart = multipart.getBodyPart(1); assertEquals("image/tiff", coveragePart.getContentType()); assertEquals("<theCoverage>", coveragePart.getHeader("Content-ID")[0]); // make sure we can read the coverage back ImageReader reader = ImageIO.getImageReadersByFormatName("tiff").next(); reader.setInput(ImageIO.createImageInputStream(coveragePart.getInputStream())); RenderedImage image = reader.read(0); // check the image is suitably small (without requiring an exact size) assertTrue(image.getWidth() < 1000); assertTrue(image.getHeight() < 1000); }
From source file:org.geoserver.wcs.GetCoverageTest.java
/** * This tests just ended up throwing an exception as the coverage being encoded * was too large due to a bug in the scales estimation * /*from w w w . j a v a 2 s . c o m*/ * @throws Exception */ @Test public void testRotatedGet() throws Exception { String request = "wcs?&service=WCS&request=GetCoverage&version=1.1.1&identifier=RotatedCad&BoundingBox=7.7634071540971386,45.14712131948007,7.76437367395267,45.14764567708965,urn:ogc:def:crs:OGC:1.3:CRS84&Format=image/tiff"; MockHttpServletResponse response = getAsServletResponse(request); // parse the multipart, check there are two parts Multipart multipart = getMultipart(response); assertEquals(2, multipart.getCount()); BodyPart coveragePart = multipart.getBodyPart(1); assertEquals("image/tiff", coveragePart.getContentType()); assertEquals("<theCoverage>", coveragePart.getHeader("Content-ID")[0]); // make sure we can read the coverage back ImageReader reader = ImageIO.getImageReadersByFormatName("tiff").next(); reader.setInput(ImageIO.createImageInputStream(coveragePart.getInputStream())); RenderedImage image = reader.read(0); // check the image is suitably small (without requiring an exact size) assertTrue(image.getWidth() < 1000); assertTrue(image.getHeight() < 1000); }
From source file:org.freecine.filmscan.ScanStrip.java
/** Load the scan strip image from disk//from w w w . j a v a2 s . c o m */ private void loadImage() { ImageReader reader; try { // PlanarImage img = JAI.create( "fileload", fname ); ImageInputStream istrm = new FileImageInputStream(file); reader = ImageIO.getImageReadersByFormatName("TIFF").next(); reader.setInput(istrm); ImageReadParam param = reader.getDefaultReadParam(); /* Set the color mode to linear sRGB as we don't have a better profile for the scanner/film available */ ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_LINEAR_RGB); ImageLayout layout = new ImageLayout(); ColorModel cm = new ComponentColorModel(cs, false, false, ColorModel.OPAQUE, DataBuffer.TYPE_USHORT); layout.setColorModel(cm); RenderingHints hints = new RenderingHints(JAI.KEY_IMAGE_LAYOUT, layout); stripImage = ImageReadDescriptor.create(istrm, 0, false, false, false, null, null, param, reader, hints); System.out.println("Color model " + stripImage.getColorModel()); // BufferedImage inImg = reader.read( 0, param ); } catch (FileNotFoundException ex) { System.out.println(ex.getMessage()); log.error("Strip file " + file + " not found", ex); } catch (IOException ex) { log.error("IO error reading strip " + file + ": ", ex); } }
From source file:pl.edu.icm.visnow.system.main.VisNow.java
private static void startupInfo() { LOGGER.info(""); LOGGER.info(""); LOGGER.info("-------- VisNow startup info --------"); if (debug) {//from w w w .j av a2 s . c o m RuntimeMXBean RuntimemxBean = ManagementFactory.getRuntimeMXBean(); List<String> aList = RuntimemxBean.getInputArguments(); LOGGER.info(" * JVM startup flags:"); for (int i = 0; i < aList.size(); i++) { LOGGER.info(" " + aList.get(i)); } LOGGER.info(""); Set<String> p = System.getProperties().stringPropertyNames(); Iterator<String> ip = p.iterator(); LOGGER.info(" * System properties:"); String key; while (ip.hasNext()) { key = ip.next(); LOGGER.info(" " + key + " = " + System.getProperty(key)); } LOGGER.info(""); Map<String, String> env = System.getenv(); Set<String> envKeys = env.keySet(); Iterator<String> envKeysI = envKeys.iterator(); LOGGER.info(" * Environment variables:"); while (envKeysI.hasNext()) { key = envKeysI.next(); LOGGER.info(" " + key + " = " + env.get(key)); } LOGGER.info(" "); LOGGER.info("------ Java Advanced Imaging info -------"); String[] formats = ImageIO.getReaderFormatNames(); String readerDescription, readerVendorName, readerVersion; ImageReader reader; ImageReaderSpi spi; for (int i = 0; i < formats.length; i++) { Iterator<ImageReader> tmpReaders = ImageIO.getImageReadersByFormatName(formats[i]); while (tmpReaders.hasNext()) { reader = tmpReaders.next(); spi = reader.getOriginatingProvider(); readerDescription = spi.getDescription(Locale.US); readerVendorName = spi.getVendorName(); readerVersion = spi.getVersion(); LOGGER.info(" " + formats[i] + ": " + readerDescription + " " + readerVendorName + " " + readerVersion); } } LOGGER.info("-----------------------------------------"); } else { LOGGER.info(" * System properties:"); LOGGER.info(" java.runtime.name = " + System.getProperty("java.runtime.name")); LOGGER.info(" java.vm.version = " + System.getProperty("java.vm.version")); LOGGER.info(" java.vm.vendor = " + System.getProperty("java.vm.vendor")); LOGGER.info(" java.vm.name = " + System.getProperty("java.vm.name")); LOGGER.info(" java.specification.version = " + System.getProperty("java.specification.version")); LOGGER.info(" java.runtime.version = " + System.getProperty("java.runtime.version")); LOGGER.info(" os.arch = " + System.getProperty("os.arch")); LOGGER.info(" os.name = " + System.getProperty("os.name")); LOGGER.info(" os.version = " + System.getProperty("os.version")); LOGGER.info(" java.library.path = " + System.getProperty("java.library.path")); LOGGER.info(" java.class.path = " + System.getProperty("java.class.path")); LOGGER.info(" java.ext.dirs = " + System.getProperty("java.ext.dirs")); LOGGER.info(""); LOGGER.info(" * Environment variables:"); LOGGER.info(" JAVA_HOME = " + System.getenv("JAVA_HOME")); LOGGER.info(" PATH = " + System.getenv("PATH")); LOGGER.info(" LD_LIBRARY_PATH = " + System.getenv("LD_LIBRARY_PATH")); LOGGER.info(" CLASSPATH = " + System.getenv("CLASSPATH")); LOGGER.info("-------------------------------------"); } LOGGER.info(""); LOGGER.info(""); }
From source file:net.frontlinesms.plugins.forms.FormsPluginController.java
private void convertByteImageToFile(byte[] imageByte, String path) throws Exception { System.out.println("path ...... convertByteImageToFile ......... " + path); ByteArrayInputStream bis = new ByteArrayInputStream(imageByte); Iterator<?> readers = ImageIO.getImageReadersByFormatName("jpg"); ImageReader reader = (ImageReader) readers.next(); Object source = bis;/* w w w . j a v a 2s.co m*/ ImageInputStream iis = ImageIO.createImageInputStream(source); reader.setInput(iis, true); ImageReadParam param = reader.getDefaultReadParam(); Image image = reader.read(0, param); //got an image file BufferedImage bufferedImage = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_RGB); //bufferedImage is the RenderedImage to be written Graphics2D g2 = bufferedImage.createGraphics(); g2.drawImage(image, null, null); File imageFile = new File(path); ImageIO.write(bufferedImage, "jpg", imageFile); System.out.println(" end write image "); }