List of usage examples for javax.imageio ImageIO write
public static boolean write(RenderedImage im, String formatName, OutputStream output) throws IOException
From source file:cn.shengyuan.yun.admin.system.controller.CommonController.java
@RequestMapping(value = "/captchaImage", method = RequestMethod.GET) public String captchaImage(HttpServletRequest request, HttpServletResponse response) throws Exception { response.setDateHeader("Expires", 0); // Set standard HTTP/1.1 no-cache headers. response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate"); // Set IE extended HTTP/1.1 no-cache headers (use addHeader). response.addHeader("Cache-Control", "post-check=0, pre-check=0"); // Set standard HTTP/1.0 no-cache header. response.setHeader("Pragma", "no-cache"); // return a jpeg response.setContentType("image/jpeg"); // create the text for the image String capText = captchaProducer.createText(); // store the text in the session request.getSession().setAttribute(Constants.KAPTCHA_SESSION_KEY, capText); // create the image with the text BufferedImage bi = captchaProducer.createImage(capText); ServletOutputStream out = response.getOutputStream(); // write the data out ImageIO.write(bi, "jpg", out); try {/* w w w.j a va 2 s . c o m*/ out.flush(); } finally { out.close(); } return null; }
From source file:info.magnolia.filesystembrowser.app.imageprovider.FSImageProvider.java
private InputStream createStreamSource(final BufferedImage img, final String formatName) { ByteArrayOutputStream out2 = null; try {//w ww. j a va 2s .c o m if (img == null) { return null; } out2 = new ByteArrayOutputStream(); ImageIO.write(img, formatName, out2); return new ByteArrayInputStream(out2.toByteArray()); } catch (IOException e) { } finally { IOUtils.closeQuietly(out2); } return null; }
From source file:com.shelfmap.simplequery.domain.BlobReferenceTest.java
@Then("we can get a deserialized java object.") public void assertRerource() throws BlobRestoreException, IOException { BufferedImage image = blob.getContent(); ByteArrayOutputStream source = new ByteArrayOutputStream(); ByteArrayOutputStream target = new ByteArrayOutputStream(); try {/*from w ww . j a v a2s. co m*/ ImageIO.write(testImage, "jpeg", source); ImageIO.write(image, "jpeg", target); } finally { IOUtils.closeQuietly(source); IOUtils.closeQuietly(target); } assertThat(source.toByteArray(), is(target.toByteArray())); }
From source file:com.abelsky.idea.geekandpoke.entries.Entry.java
private void writeObject(@NotNull ObjectOutputStream out) throws IOException { out.defaultWriteObject();// w w w . ja va 2 s .c o m if (imageRef != null) { @Nullable BufferedImage image = imageRef.get(); if (image == null) { image = fetchCachedImage(); imageRef = new SoftReference<BufferedImage>(image); } ImageIO.write(image, "png", ImageIO.createImageOutputStream(out)); } }
From source file:net.sourceforge.subsonic.controller.AvatarUploadController.java
private void createAvatar(String fileName, byte[] data, String username, Map<String, Object> map) throws IOException { BufferedImage image;// w w w . j a v a2 s. c o m try { image = ImageIO.read(new ByteArrayInputStream(data)); if (image == null) { throw new Exception( "Failed to decode incoming image: " + fileName + " (" + data.length + " bytes)."); } int width = image.getWidth(); int height = image.getHeight(); String mimeType = StringUtil.getMimeType(FilenameUtils.getExtension(fileName)); // Scale down image if necessary. if (width > MAX_AVATAR_SIZE || height > MAX_AVATAR_SIZE) { double scaleFactor = (double) MAX_AVATAR_SIZE / (double) Math.max(width, height); height = (int) (height * scaleFactor); width = (int) (width * scaleFactor); image = CoverArtController.scale(image, width, height); ByteArrayOutputStream out = new ByteArrayOutputStream(); ImageIO.write(image, "jpeg", out); data = out.toByteArray(); mimeType = StringUtil.getMimeType("jpeg"); map.put("resized", true); } Avatar avatar = new Avatar(0, fileName, new Date(), mimeType, width, height, data); settingsService.setCustomAvatar(avatar, username); LOG.info("Created avatar '" + fileName + "' (" + data.length + " bytes) for user " + username); } catch (Exception x) { LOG.warn("Failed to upload personal image: " + x, x); map.put("error", x); } }
From source file:de.ailis.wlandsuite.WebExtract.java
/** * Extracts the tilesets.//from w w w . j ava2 s .com * * @param sourceDirectory * The input directory * @param targetDirectory * The output directory * @throws IOException * When file operation fails. */ private void extractTilesets(final File sourceDirectory, final File targetDirectory) throws IOException { // Extract tilesets final File imagesDirectory = new File(targetDirectory, "images"); imagesDirectory.mkdirs(); for (int gameId = 1; gameId <= 2; gameId++) { final String filename = "allhtds" + gameId; log.info("Reading " + filename); final InputStream stream = new FileInputStream(new File(sourceDirectory, filename)); try { final Htds htds = Htds.read(stream); int tilesetId = 0; log.info("Writing tileset " + tilesetId); for (final HtdsTileset tileset : htds.getTilesets()) { final List<Pic> tiles = tileset.getTiles(); final int scale = this.scaleFilter.getScaleFactor(); final BufferedImage out; final int outType = this.scaleFilter.getImageType(); if (outType == -1) out = new EgaImage(10 * 16 * scale, (int) Math.ceil((double) tiles.size() / 10) * 16 * scale); else out = new BufferedImage(10 * 16 * scale, (int) Math.ceil((double) tiles.size() / 10) * 16 * scale, outType); final Graphics2D g = out.createGraphics(); int i = 0; for (final Pic tile : tileset.getTiles()) { g.drawImage(this.scaleFilter.scale(tile), i % 10 * 16 * scale, i / 10 * 16 * scale, null); i++; } ImageIO.write(out, "png", new File(imagesDirectory, "tileset" + gameId + tilesetId + ".png")); tilesetId++; } } finally { stream.close(); } } }
From source file:com.nemesis.admin.UploadServlet.java
/** * @param request/*from w ww . j a v a2 s .com*/ * @param response * @throws javax.servlet.ServletException * @throws java.io.IOException * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse * response) * */ @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if (request.getParameter("getfile") != null && !request.getParameter("getfile").isEmpty()) { File file = getFile(request, request.getParameter("getfile")); if (file.exists()) { int bytes = 0; try (ServletOutputStream op = response.getOutputStream()) { response.setContentType(getMimeType(file)); response.setContentLength((int) file.length()); response.setHeader("Content-Disposition", "inline; filename=\"" + file.getName() + "\""); byte[] bbuf = new byte[1024]; DataInputStream in = new DataInputStream(new FileInputStream(file)); while ((in != null) && ((bytes = in.read(bbuf)) != -1)) { op.write(bbuf, 0, bytes); } in.close(); op.flush(); } } } else if (request.getParameter("delfile") != null && !request.getParameter("delfile").isEmpty()) { File file = getFile(request, request.getParameter("delfile")); if (file.exists()) { file.delete(); // TODO:check and report success } } else if (request.getParameter("getthumb") != null && !request.getParameter("getthumb").isEmpty()) { File file = getFile(request, request.getParameter("getthumb")); if (file.exists()) { System.out.println(file.getAbsolutePath()); String mimetype = getMimeType(file); if (mimetype.endsWith("png") || mimetype.endsWith("jpeg") || mimetype.endsWith("jpg") || mimetype.endsWith("gif")) { BufferedImage im = ImageIO.read(file); if (im != null) { int newWidth = 75; if (request.getParameter("w") != null) { try { newWidth = Integer.parseInt(request.getParameter("w")); } catch (Exception e) { //Se mantiene el valor por defecto de 75 } } BufferedImage thumb = Scalr.resize(im, newWidth); if (request.getParameter("h") != null) { try { thumb = Scalr.crop(thumb, newWidth, Integer.parseInt(request.getParameter("h"))); } catch (IllegalArgumentException | ImagingOpException e) { //Se mantienen las proporciones. } } ByteArrayOutputStream os = new ByteArrayOutputStream(); if (mimetype.endsWith("png")) { ImageIO.write(thumb, "PNG", os); response.setContentType("image/png"); } else if (mimetype.endsWith("jpeg")) { ImageIO.write(thumb, "jpg", os); response.setContentType("image/jpeg"); } else if (mimetype.endsWith("jpg")) { ImageIO.write(thumb, "jpg", os); response.setContentType("image/jpeg"); } else { ImageIO.write(thumb, "GIF", os); response.setContentType("image/gif"); } try (ServletOutputStream srvos = response.getOutputStream()) { response.setContentLength(os.size()); response.setHeader("Content-Disposition", "inline; filename=\"" + file.getName() + "\""); os.writeTo(srvos); srvos.flush(); } } } } // TODO: check and report success } else { PrintWriter writer = response.getWriter(); writer.write("call POST with multipart form data"); } }
From source file:iqq.app.module.QQAccountModule.java
@IMEventHandler(IMEventType.SELF_FACE_UPDATE) protected void processIMSelfFaceUpdate(IMEvent event) { QQAccount account = (QQAccount) event.getTarget(); QQAccountEntry entry = entryMap.get(account.getUsername()); if (entry != null) { try {//from w w w .j av a 2s. com ByteArrayOutputStream out = new ByteArrayOutputStream(); ImageIO.write(account.getFace(), "png", out); entry.face = out.toByteArray(); submitRecentAccountSave(entry); } catch (IOException e) { LOG.warn("write face error!", e); } } }
From source file:com.codenvy.corp.MainPage.java
public void gotoManageViewAndGrabCLDIDEBornDown() throws IOException, InterruptedException { driver.get(String.format(mangeViewUrlCLDIDE, agileIdPLF)); new WebDriverWait(driver, 10).until(ExpectedConditions.visibilityOf(burnDownMAinContainer)); burnDownNamePlf = new WebDriverWait(driver, 10) .until(ExpectedConditions.visibilityOfElementLocated(By.id("ghx-items-trigger"))).getText(); Thread.sleep(10000);/*from ww w . ja v a 2 s. com*/ File screen = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE); Point p = burnDownMAinContainer.getLocation(); int width = burnDownMAinContainer.getSize().getWidth(); int height = burnDownMAinContainer.getSize().getHeight(); BufferedImage img = ImageIO.read(screen); BufferedImage dest = img.getSubimage(p.getX(), p.getY() - 50, width, height); ImageIO.write(dest, "png", screen); File file = new File(burnDownNamePlf + ".png"); FileUtils.copyFile(screen, file); addText(file, burnDownNamePlf); }
From source file:cpcc.ros.services.RosImageConverterTest.java
@Test(dataProvider = "imageDataprovider") public void shouldConvertGenericImages(int height, int width, String encoding, String imageName) throws IOException { InputStream stream = RosImageConverterTest.class.getResourceAsStream(imageName); byte[] imageData = IOUtils.toByteArray(stream); when(buffer.array()).thenReturn(imageData); // when(buffer.hasArray()).thenReturn(true); when(message.getEncoding()).thenReturn(encoding); when(message.getHeight()).thenReturn(height); when(message.getWidth()).thenReturn(width); when(message.getData()).thenReturn(ChannelBuffers.copiedBuffer(ByteOrder.nativeOrder(), imageData)); BufferedImage result = conv.messageToBufferedImage(message); assertThat(result).isNotNull();//from www . j a v a 2 s .com assertThat(result.getHeight()).isEqualTo(height); assertThat(result.getWidth()).isEqualTo(width); ByteArrayOutputStream bos = new ByteArrayOutputStream(); ImageIO.write(result, encoding, bos); byte[] resultImageData = bos.toByteArray(); assertThat(resultImageData.length).isEqualTo(imageData.length); // assertThat(resultImageData).isEqualTo(imageData); }