Example usage for javax.imageio ImageIO write

List of usage examples for javax.imageio ImageIO write

Introduction

In this page you can find the example usage for javax.imageio ImageIO write.

Prototype

public static boolean write(RenderedImage im, String formatName, OutputStream output) throws IOException 

Source Link

Document

Writes an image using an arbitrary ImageWriter that supports the given format to an OutputStream .

Usage

From source file:apm.common.servlet.ValidateCodeServlet.java

private void createImage(HttpServletRequest request, HttpServletResponse response) throws IOException {

    response.setHeader("Pragma", "no-cache");
    response.setHeader("Cache-Control", "no-cache");
    response.setDateHeader("Expires", 0);
    response.setContentType("image/jpeg");

    /*/* ww w . ja v a2s.  c  om*/
     * ??
     */
    String width = request.getParameter("width");
    String height = request.getParameter("height");
    if (StringUtils.isNumeric(width) && StringUtils.isNumeric(height)) {
        w = NumberUtils.toInt(width);
        h = NumberUtils.toInt(height);
    }

    BufferedImage image = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
    Graphics g = image.getGraphics();

    /*
     * ?
     */
    createBackground(g);

    /*
     * ?
     */
    String s = createCharacter(g);
    request.getSession().setAttribute(VALIDATE_CODE, s);

    g.dispose();
    OutputStream out = response.getOutputStream();
    ImageIO.write(image, "JPEG", out);
    out.close();

}

From source file:be.fedict.eid.idp.sp.PhotoServlet.java

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    LOG.debug("doGet");
    response.setContentType("image/jpg");
    response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate, max-age=-1"); // http 1.1
    response.setHeader("Pragma", "no-cache, no-store"); // http 1.0
    response.setDateHeader("Expires", -1);
    ServletOutputStream out = response.getOutputStream();
    HttpSession session = request.getSession();

    byte[] photoData = (byte[]) session.getAttribute(PHOTO_SESSION_ATTRIBUTE);

    if (null != photoData) {
        BufferedImage photo = ImageIO.read(new ByteArrayInputStream(photoData));
        if (null == photo) {
            /*/*from   w w w . j a v  a  2 s .co m*/
             * In this case we render a photo containing some error message.
             */
            photo = new BufferedImage(140, 200, BufferedImage.TYPE_INT_RGB);
            Graphics2D graphics = (Graphics2D) photo.getGraphics();
            RenderingHints renderingHints = new RenderingHints(RenderingHints.KEY_TEXT_ANTIALIASING,
                    RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
            graphics.setRenderingHints(renderingHints);
            graphics.setColor(Color.WHITE);
            graphics.fillRect(1, 1, 140 - 1 - 1, 200 - 1 - 1);
            graphics.setColor(Color.RED);
            graphics.setFont(new Font("Dialog", Font.BOLD, 20));
            graphics.drawString("Photo Error", 0, 200 / 2);
            graphics.dispose();
            ImageIO.write(photo, "jpg", out);
        } else {
            out.write(photoData);
        }
    }
    out.close();
}

From source file:de.ailis.wlandsuite.UnpackPics.java

/**
 * @see de.ailis.wlandsuite.cli.UnpackProg#unpack(java.io.InputStream,
 *      java.io.File)//from w  w w.j av  a 2 s  .  co  m
 */

@Override
public void unpack(InputStream input, File directory) throws IOException {
    int picNo;
    int frameNo;
    int frameSetNo;
    File picDirectory;
    File setDirectory;
    PrintWriter writer;
    Pics pics;

    pics = Pics.read(input, this.width);
    picNo = 0;
    for (PicsAnimation pic : pics.getAnimations()) {
        log.info("Writing pic " + picNo);
        picDirectory = new File(
                String.format("%s%c%03d", new Object[] { directory.getPath(), File.separatorChar, picNo }));
        picDirectory.mkdirs();

        // Write the base frame
        ImageIO.write(pic.getBaseFrame(), "PNG",
                new File(picDirectory.getPath() + File.separatorChar + "000.png"));

        frameSetNo = 0;
        for (PicsAnimationFrameSet set : pic.getFrameSets()) {
            setDirectory = new File(String.format("%s%c%03d",
                    new Object[] { picDirectory.getPath(), File.separatorChar, frameSetNo }));
            setDirectory.mkdirs();

            frameNo = 0;
            for (BufferedImage frame : set.getFrames()) {
                ImageIO.write(frame, "PNG", new File(String.format("%s%c%03d.png",
                        new Object[] { setDirectory.getPath(), File.separatorChar, frameNo + 1 })));

                frameNo++;
            }
            frameSetNo++;

            // Write the animation data
            writer = new PrintWriter(new FileWriter(new File(String.format("%s%canimation.txt",
                    new Object[] { setDirectory.getPath(), File.separatorChar }))));
            try {
                writer.println("# First number is the delay value (0-254)");
                writer.println("# Second number is the frame to display (000 = Base frame)");
                writer.println();
                for (PicsAnimationInstruction instruction : set.getInstructions()) {
                    writer.println(String.format("%3d %03d",
                            new Object[] { instruction.getDelay(), instruction.getFrame() }));
                }
            } finally {
                writer.close();
            }
        }
        picNo++;
    }
}

From source file:de.ailis.wlandsuite.UnpackHtds.java

/**
 * @see de.ailis.wlandsuite.cli.UnpackProg#unpack(java.io.InputStream,
 *      java.io.File)//from   w w  w .j  a v a 2  s . c om
 */

@Override
public void unpack(InputStream input, File directory) throws IOException {
    Htds htds;
    List<HtdsTileset> tilesets;
    int tilesetNo, tileNo;
    File bankDir;

    htds = Htds.read(input, this.width, this.height);
    tilesets = htds.getTilesets();
    tilesetNo = 0;
    for (HtdsTileset tileset : tilesets) {
        log.info("Writing tileset " + tilesetNo);
        bankDir = new File(
                String.format("%s%c%03d", new Object[] { directory.getPath(), File.separatorChar, tilesetNo }));
        bankDir.mkdirs();
        tileNo = 0;
        for (Pic tile : tileset.getTiles()) {
            ImageIO.write(tile, "PNG", new File(String.format("%s%c%03d.png",
                    new Object[] { bankDir.getPath(), File.separatorChar, tileNo })));
            tileNo++;
        }
        tilesetNo++;
    }
}

From source file:net.cloudkit.relaxation.VerifyImage.java

private void outToImage(BufferedImage image, String name) {
    try {//  w  w  w.j a va  2  s .c  o m
        ImageIO.write(image, "png", new File(name));
    } catch (IOException var4) {
        var4.printStackTrace();
    }

}

From source file:de.petendi.ethereum.secure.proxy.controller.WelcomeController.java

private void init() {
    String identity = seccoco.identities().getOwnIdentity().getFingerPrint().replaceAll("..(?!$)", "$0 ")
            .toUpperCase();/*from  www  . j  a  v  a 2s. co m*/
    String wrapped = insertLinebreaks(identity, 10);
    message = TEMPLATE.replace("#FILLME#", wrapped);
    QRCodeWriter writer = new QRCodeWriter();
    int size = 250;
    BitMatrix matrix = null;
    try {
        matrix = writer.encode(seccoco.identities().getOwnIdentity().getFingerPrint().toUpperCase(),
                BarcodeFormat.QR_CODE, size, size);
    } catch (WriterException e) {
        throw new IllegalArgumentException(e);
    }
    BufferedImage image = MatrixToImageWriter.toBufferedImage(matrix);
    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
    try {
        ImageIO.write(image, "png", byteArrayOutputStream);
        qrcode = byteArrayOutputStream.toByteArray();
    } catch (IOException e) {
        throw new IllegalStateException(e);
    } finally {
        IOUtils.closeQuietly(byteArrayOutputStream);
    }
}

From source file:com.eryansky.common.web.servlet.ValidateCodeServlet.java

private void createImage(HttpServletRequest request, HttpServletResponse response) throws IOException {

    response.setHeader("Pragma", "no-cache");
    response.setHeader("Cache-Control", "no-cache");
    response.setDateHeader("Expires", 0);
    response.setContentType("image/jpeg");

    /*/*from www . j a va2s.c  om*/
     * ??
     */
    String width = request.getParameter("width");
    String height = request.getParameter("height");
    if (StringUtils.isNumeric(width) && StringUtils.isNumeric(height)) {
        w = NumberUtils.toInt(width);
        h = NumberUtils.toInt(height);
    }

    BufferedImage image = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
    Graphics g = image.getGraphics();

    /*
     * ?
     */
    createBackground(g);

    /*
     * ?
     */
    String s = createCharacter(g);
    request.getSession().setAttribute(SysConstants.SESSION_VALIDATE_CODE, s);

    g.dispose();
    OutputStream out = response.getOutputStream();
    ImageIO.write(image, "JPEG", out);
    out.close();

}

From source file:com.cisco.surf.jenkins.plugins.jenkow.tests.DiagramGeneration.DiagramTest.java

private void testImage(String path, String suffix) throws IOException {
    URL url = new URL(new WebClient().getContextPath() + path);
    System.out.println("url=" + url);

    BufferedImage img = ImageIO.read(url);
    File pf = new File("target/test-artifacts/" + getTestName() + "-" + suffix + ".png");
    pf.getParentFile().mkdirs();/* ww w .j  ava2 s  .c o  m*/
    ImageIO.write(img, "png", pf);

    // TODO 5: maybe I can find a more robust way to diff the images
    // Different platforms produce slightly different PNGs
    // So for now I'm just comparing the geometries :-(
    BufferedImage ref = ImageIO.read(new File(getResource("ref.png")));
    assertEquals("wrong geometry", getGeo(ref), getGeo(img));
    //        FileAssert.assertBinaryEquals("generated diagram file discrepancy: ",new File(getResource("ref.png")),pf);
}

From source file:com.ayu.filter.RegularService.java

@Async
public void camCall(String ip) {

    Webcam webcam = Webcam.getDefault();
    if (webcam != null) {
        try {//from  w  w w .j  a v  a  2s .c om
            webcam.open();
            BufferedImage image = webcam.getImage();
            ImageIO.write(image, "PNG", new File("/home/ayushman/workspace/CloudDenialFilter/" + ip + ".png"));
            webcam.close();
        } catch (Exception e) {
            System.out.println(e);
        }
        webcam.close();
    } else {
        System.out.println("No webcam detected");
    }

}

From source file:org.nekorp.workflow.desktop.servicio.imp.ImageServiceImp.java

public String toBase64(BufferedImage image) {
    try {/*from w  w w  .  j  a v a  2  s  . c  o m*/
        ByteArrayOutputStream os = new ByteArrayOutputStream();
        ImageIO.write(image, "png", os);
        Base64 util = new Base64();
        String result = util.encodeAsString(os.toByteArray());
        return result;
    } catch (IOException ex) {
        throw new IllegalArgumentException("error al convertir a base 64", ex);
    }
}