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:csns.util.ImageUtils.java

public File resize(File file, int targetSize, boolean always) {
    File newFile = null;/*from   w w  w .  j a v a  2s  . c  o  m*/

    try {
        BufferedImage image = ImageIO.read(fileIO.getDiskFile(file));

        if (!always && image.getWidth() < targetSize && image.getHeight() < targetSize)
            return file;

        BufferedImage newImage = Scalr.resize(image, targetSize);
        java.io.File tempFile = java.io.File.createTempFile("temp", null);
        ImageIO.write(newImage, "jpg", tempFile);

        newFile = new File();
        newFile.setName(file.getName() + "_" + targetSize + ".jpg");
        newFile.setType("image/jpeg");
        newFile.setSize(tempFile.length());
        newFile.setOwner(file.getOwner());
        newFile.setParent(file.getParent());
        newFile.setPublic(file.isPublic());
        newFile = fileDao.saveFile(newFile);

        tempFile.renameTo(fileIO.getDiskFile(newFile, false));
    } catch (IOException e) {
        logger.error("Fail to resize image " + file.getName(), e);
    }

    return newFile;
}

From source file:edworld.pdfreader4humans.PDFReaderTest.java

@Test
public void createPageImageWithoutStructure() throws IOException {
    File outputFile = new File("target/outputWithoutStructure.png");
    ImageIO.write(reader.createPageImage(1, 3, Color.BLACK, Color.WHITE, false), "png", outputFile);
    assertImagesAreSimilar(getClass().getResourceAsStream("/testcase1/outputWithoutStructure.png"),
            ImageIO.read(outputFile));
}

From source file:de.appsolve.padelcampus.utils.FileUtil.java

public Image save(String contentType, BufferedImage bufferedImage, ImageCategory category)
        throws IOException, ImageProcessingException {
    try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) {

        //convert buffered image to byte array
        ImageIO.write(bufferedImage, "png", baos);
        baos.flush();/*from   www. j  a v a 2s . co m*/
        byte[] byteArray = baos.toByteArray();

        return save(contentType, byteArray, category, bufferedImage.getWidth(), bufferedImage.getHeight());
    }
}

From source file:cz.zcu.pia.social.network.backend.services.FileService.java

public void resizeImage(File file) throws IOException, IllegalArgumentException {
    //Scale the image
    String ext = FilenameUtils.getExtension(file.getName());

    BufferedImage resizedImage = Scalr.resize(ImageIO.read(file), Constants.PROFILE_IMAGE_SIZE);
    ImageIO.write(resizedImage, ext, new File(Constants.BASE_PATH_RESIZED + file.getName()));
    File resizedFile = new File(Constants.BASE_PATH_RESIZED + file.getName());
    if (securityHelper.getLogedInUser().getUserImageName() != null) {
        new File(Constants.BASE_PATH_RESIZED + securityHelper.getLogedInUser().getUserImageName()).delete();
    }/* ww  w.ja  v  a2s .  com*/

    securityHelper.getLogedInUser().setUserImageName(resizedFile.getName());
    usersService.update(securityHelper.getLogedInUser());
    file.delete();
}

From source file:com.webpagebytes.cms.DefaultImageProcessor.java

public boolean resizeImage(WPBFileStorage cloudStorage, WPBFilePath cloudFile, int desiredSize,
        String outputFormat, OutputStream os) throws WPBException {
    InputStream is = null;/*  w w  w  .j  a v  a 2  s.  co m*/
    try {
        //get the file content
        WPBFileInfo fileInfo = cloudStorage.getFileInfo(cloudFile);
        String type = fileInfo.getContentType().toLowerCase();
        if (!type.startsWith("image")) {
            return false;
        }
        is = cloudStorage.getFileContent(cloudFile);
        BufferedImage bufImg = ImageIO.read(is);
        Dimension<Integer> newSize = getResizeSize(bufImg.getWidth(), bufImg.getHeight(), desiredSize);
        BufferedImage bdest = new BufferedImage(newSize.getX(), newSize.getY(), BufferedImage.TYPE_INT_RGB);
        Graphics2D g = bdest.createGraphics();
        Dimension<Double> scale = getResizeScale(bufImg.getHeight(), bufImg.getWidth(), desiredSize);
        AffineTransform at = AffineTransform.getScaleInstance(scale.getX(), scale.getY());
        g.drawRenderedImage(bufImg, at);
        ImageIO.write(bdest, outputFormat, os);
        return true;
    } catch (Exception e) {
        throw new WPBException("Cannot resize image ", e);
    } finally {
        IOUtils.closeQuietly(is);
    }

}

From source file:com.betel.flowers.web.bean.util.UploadFileRun.java

@Override
public void run() {
    Boolean succesefull = Boolean.FALSE;
    Path path = Paths.get(url);
    //if directory exists?
    if (!Files.exists(path)) {
        try {//from www  . ja  va 2  s  .co m
            Files.createDirectories(path);
            log.log(Level.INFO, "Directory is created!");
        } catch (IOException e) {
            //fail to create directory
            log.log(Level.SEVERE, "Failed to create directory! " + e.getMessage());
        }
    }

    File fileDelete = new File(url + name + "." + ext);
    if (fileDelete.delete()) {
        log.log(Level.INFO, "Se elimino el archivo: " + url + name + "." + ext);
    } else {
        log.log(Level.INFO, "No se elimino el archivo: " + url + name + "." + ext);
    }

    File file = new File(url + name + "." + ext);
    try {
        byte[] imgbytes = IOUtils.toByteArray(input);
        InputStream in = new ByteArrayInputStream(imgbytes);
        BufferedImage bImageFromConvert = ImageIO.read(in);
        ImageIO.write(bImageFromConvert, ext, file);
        succesefull = Boolean.TRUE;
    } catch (IOException e) {
        log.log(Level.SEVERE, "Error al guardar la imagen en:" + file.getPath(), e);
    }
    if (succesefull) {
        try {
            this.finalize();
            this.exito = true;
        } catch (Throwable ex) {
            log.log(Level.SEVERE, "Error al procesar imagen", ex);
        }
    } else {
        this.interrupt();
        this.exito = false;
    }
}

From source file:net.sourceforge.atunes.misc.TempFolder.java

public File writeImageToTempFolder(RenderedImage image, String fileName) {
    try {//w  w  w  .java  2s. c  om
        File file = new File(SystemProperties.getTempFolder(), fileName);
        ImageIO.write(image, "png", file);
        return file;
    } catch (IOException e) {
        return null;
    }

}

From source file:com.tapas.evidence.fe.controller.CaptchaController.java

@RequestMapping("/captcha.jpg")
public void showForm(HttpServletRequest request, HttpServletResponse response) throws Exception {
    byte[] captchaChallengeAsJpeg = null;
    // the output stream to render the captcha image as jpeg into
    ByteArrayOutputStream jpegOutputStream = new ByteArrayOutputStream();
    try {//from   w  w  w.  ja  v  a  2  s  .  c  o  m
        // get the session id that will identify the generated captcha.
        // the same id must be used to validate the response, the session id is a good candidate!

        String captchaId = request.getSession().getId();
        BufferedImage challenge = captchaService.getImageChallengeForID(captchaId, request.getLocale());

        ImageIO.write(challenge, CAPTCHA_IMAGE_FORMAT, jpegOutputStream);
    } catch (IllegalArgumentException e) {
        response.sendError(HttpServletResponse.SC_NOT_FOUND);
        return;
    } catch (CaptchaServiceException e) {
        response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
        return;
    }

    captchaChallengeAsJpeg = jpegOutputStream.toByteArray();

    // flush it in the response
    response.setHeader("Cache-Control", "no-store");
    response.setHeader("Pragma", "no-cache");
    response.setDateHeader("Expires", 0);
    response.setContentType("image/" + CAPTCHA_IMAGE_FORMAT);

    ServletOutputStream responseOutputStream = response.getOutputStream();
    responseOutputStream.write(captchaChallengeAsJpeg);
    responseOutputStream.flush();
    responseOutputStream.close();
}

From source file:dinamica.ChartOutput.java

public void print(GenericTransaction t) throws Throwable {

    //get chart parameters
    Recordset chartinfo = t.getRecordset("chartinfo");

    //get chart data
    String id = chartinfo.getString("data");
    Recordset data = (Recordset) getSession().getAttribute(id);
    if (data == null)
        throw new Throwable(
                "Invalid Recordset ID:" + id + " - The session does not contain an attribute with this ID.");

    //general chart params
    Integer width = (Integer) chartinfo.getValue("width");
    Integer height = (Integer) chartinfo.getValue("height");

    //load chart plugin
    String plugin = (String) chartinfo.getValue("chart-plugin");
    AbstractChartPlugin obj = (AbstractChartPlugin) Thread.currentThread().getContextClassLoader()
            .loadClass(plugin).newInstance();

    JFreeChart chart = obj.getChart(chartinfo, data);

    //set gradient
    chart.setBackgroundPaint(getGradient());

    //set border and legend params
    chart.setBorderPaint(Color.LIGHT_GRAY);
    chart.setBorderVisible(true);/*ww w.  ja v  a2s.  co  m*/
    if (chart.getLegend() != null) {
        chart.getLegend().setBorder(0.2, 0.2, 0.2, 0.2);
        chart.getLegend().setPadding(5, 5, 5, 5);
        chart.getLegend().setMargin(4, 5, 4, 4);
    }

    //render chart in memory
    BufferedImage img = chart.createBufferedImage(width.intValue(), height.intValue());
    ByteArrayOutputStream b = new ByteArrayOutputStream(32768);

    //encode as PNG
    ImageIO.write(img, "png", b);

    //send bitmap via servlet output
    byte image[] = b.toByteArray();
    getResponse().setContentType("image/png");
    getResponse().setContentLength(image.length);
    OutputStream out = getResponse().getOutputStream();
    out.write(image);
    out.close();

    //save image bytes in session attribute if requested
    if (chartinfo.containsField("session")) {
        String session = chartinfo.getString("session");
        if (session != null && session.equals("true"))
            getSession().setAttribute(chartinfo.getString("image-id"), image);
    }

}

From source file:com.alibaba.webx.tutorial.app1.module.screen.simple.SayHiImage.java

private void writeImage(OutputStream out) throws IOException {
    BufferedImage img = new BufferedImage(800, 600, BufferedImage.TYPE_INT_RGB);
    Graphics2D g2d = img.createGraphics();

    g2d.setPaint(Color.red);//from w  w  w.j ava2  s  .c  o m
    g2d.setFont(new Font("Serif", Font.BOLD, 36));
    g2d.drawString("Hi there, how are you doing today?", 5, g2d.getFontMetrics().getHeight());
    g2d.dispose();

    ImageIO.write(img, "jpg", out);
}