Example usage for javax.imageio ImageIO read

List of usage examples for javax.imageio ImageIO read

Introduction

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

Prototype

public static BufferedImage read(ImageInputStream stream) throws IOException 

Source Link

Document

Returns a BufferedImage as the result of decoding a supplied ImageInputStream with an ImageReader chosen automatically from among those currently registered.

Usage

From source file:gsn.vsensor.DemoVSensor.java

public void dataAvailable(String inputStreamName, StreamElement data) {
    if (inputStreamName.equalsIgnoreCase("SSTREAM")) {
        String action = (String) data.getData("STATUS");
        /**//from w w w  .  jav  a 2s .  c  o  m
         * 
         */
        String moteId = (String) data.getData("ID");
        if (moteId.toLowerCase().indexOf("mica") < 0)
            return;
        if (action.toLowerCase().indexOf("add") >= 0)
            counter++;
        if (action.toLowerCase().indexOf("remove") >= 0)
            counter--;
    }
    if (inputStreamName.equalsIgnoreCase("CSTREAM")) {

        BufferedImage bufferedImage = null;
        outputStream.reset();
        byte[] rawData = (byte[]) data.getData("IMAGE");
        input = new ByteArrayInputStream(rawData);
        try {
            bufferedImage = ImageIO.read(input);
        } catch (IOException e) {
            logger.error(e.getMessage(), e);
        }
        Graphics2D graphics = (Graphics2D) bufferedImage.getGraphics();
        int size = 30;
        int locX = 0;
        int locY = 0;
        if (counter < 0)
            counter = 0;
        switch (counter) {
        case 0:
            graphics.setColor(Color.RED);
            break;
        case 1:
            graphics.setColor(Color.ORANGE);
            break;

        case 2:
            graphics.setColor(Color.YELLOW);
            break;

        case 3:
            graphics.setColor(Color.GREEN);
            break;
        default:
            logger.warn(
                    new StringBuilder().append("Shouldn't happen.>").append(counter).append("<").toString());
        }
        graphics.fillOval(locX, locY, size, size);
        try {
            ImageIO.write(bufferedImage, "jpeg", outputStream);
            outputStream.close();

        } catch (Exception e) {
            logger.error(e.getMessage(), e);
        }

        StreamElement outputSE = new StreamElement(OUTPUT_FIELDS, OUTPUT_TYPES,
                new Serializable[] { outputStream.toByteArray() }, data.getTimeStamp());
        dataProduced(outputSE);
    }
    logger.info(
            new StringBuilder().append("Data received under the name: ").append(inputStreamName).toString());
}

From source file:be.redtree.beidsign.signature.UserSignature.java

public BufferedImage getSignatureImage() {
    NodeRef person = serviceRegistry.getPersonService().getPerson(user);
    if (person == null) {
        return null;
    }/*from   www .  j a  va  2s  . c  om*/

    NodeRef sigImage = beidSignService.getUserSignatureNode(person, BEIDSignModel.ASSOC_SIGNERSIGNATUREIMAGE);

    if (sigImage != null) {
        ContentReader imageReader = serviceRegistry.getContentService().getReader(sigImage,
                ContentModel.PROP_CONTENT);

        try {
            return ImageIO.read(imageReader.getContentInputStream());
        } catch (IOException ioex) {
            logger.warn("Could not retrieve signature image as a child of person: " + ioex);
            // generate a default image?
        }
    }

    return null;
}

From source file:net.mindengine.galen.utils.GalenUtils.java

public static File makeFullScreenshot(WebDriver driver) throws IOException, InterruptedException {
    // scroll up first
    scrollVerticallyTo(driver, 0);/*  w w w  .j  a  v  a 2 s.  co  m*/
    byte[] bytes = ((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES);
    BufferedImage image = ImageIO.read(new ByteArrayInputStream(bytes));
    int capturedWidth = image.getWidth();
    int capturedHeight = image.getHeight();

    long longScrollHeight = (Long) ((JavascriptExecutor) driver).executeScript(
            "return Math.max(" + "document.body.scrollHeight, document.documentElement.scrollHeight,"
                    + "document.body.offsetHeight, document.documentElement.offsetHeight,"
                    + "document.body.clientHeight, document.documentElement.clientHeight);");

    Double devicePixelRatio = ((Number) ((JavascriptExecutor) driver)
            .executeScript(JS_RETRIEVE_DEVICE_PIXEL_RATIO)).doubleValue();

    int scrollHeight = (int) longScrollHeight;

    File file = File.createTempFile("screenshot", ".png");

    int adaptedCapturedHeight = (int) (((double) capturedHeight) / devicePixelRatio);

    BufferedImage resultingImage;

    if (Math.abs(adaptedCapturedHeight - scrollHeight) > 40) {
        int scrollOffset = adaptedCapturedHeight;

        int times = scrollHeight / adaptedCapturedHeight;
        int leftover = scrollHeight % adaptedCapturedHeight;

        final BufferedImage tiledImage = new BufferedImage(capturedWidth,
                (int) (((double) scrollHeight) * devicePixelRatio), BufferedImage.TYPE_INT_RGB);
        Graphics2D g2dTile = tiledImage.createGraphics();
        g2dTile.drawImage(image, 0, 0, null);

        int scroll = 0;
        for (int i = 0; i < times - 1; i++) {
            scroll += scrollOffset;
            scrollVerticallyTo(driver, scroll);
            BufferedImage nextImage = ImageIO.read(
                    new ByteArrayInputStream(((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES)));
            g2dTile.drawImage(nextImage, 0, (i + 1) * capturedHeight, null);
        }
        if (leftover > 0) {
            scroll += scrollOffset;
            scrollVerticallyTo(driver, scroll);
            BufferedImage nextImage = ImageIO.read(
                    new ByteArrayInputStream(((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES)));
            BufferedImage lastPart = nextImage.getSubimage(0,
                    nextImage.getHeight() - (int) (((double) leftover) * devicePixelRatio),
                    nextImage.getWidth(), leftover);
            g2dTile.drawImage(lastPart, 0, times * capturedHeight, null);
        }

        scrollVerticallyTo(driver, 0);

        resultingImage = tiledImage;
    } else {
        resultingImage = image;
    }

    if (GalenConfig.getConfig().shouldAutoresizeScreenshots()) {
        resultingImage = GalenUtils.resizeScreenshotIfNeeded(driver, resultingImage);
    }

    ImageIO.write(resultingImage, "png", file);
    return file;
}

From source file:apiserver.services.images.services.coldfusion.ImageRotateCFService.java

public Object execute(Message<?> message) throws ColdFusionException {
    FileRotateJob props = (FileRotateJob) message.getPayload();

    try {/* w w w. j  av a2 s  .com*/
        cfcPath = imageConfigMBean.getImageRotatePath();
        String method = imageConfigMBean.getImageRotateMethod();

        // extract properties
        Map<String, Object> methodArgs = props.toMap();

        // execute
        Object cfcResult = coldFusionBridge.invoke(cfcPath, method, methodArgs);

        // strip out the base64 string from the json packet
        //ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally
        //mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
        //String img = mapper.readValue((String)cfcResult, String.class);

        if (cfcResult instanceof byte[]) {
            // convert base64 back to buffered image
            byte[] bytes = Base64.decodeBase64(new String((byte[]) cfcResult));
            BufferedImage bi = ImageIO.read(new ByteArrayInputStream(bytes));
            props.setBufferedImage(bi);
        } else {
            throw new NotImplementedException();
        }

        return props;
    } catch (Throwable e) {
        e.printStackTrace(); //todo use logging library
        throw new RuntimeException(e);
    } finally {

    }
}

From source file:gr.iti.mklab.reveal.forensics.maps.dq.DQExtractor.java

public DQExtractor(String fileName) throws IOException {
    String imageFormat = gr.iti.mklab.reveal.forensics.util.Util.getImageFormat(new File(fileName));
    try {//from   ww  w.ja va 2  s. c om
        if (imageFormat.equalsIgnoreCase("JPEG") | imageFormat.equalsIgnoreCase("JPG")) {
            dcts = getDCTCoeffsFromFile(fileName);
        } else {
            System.out.println(
                    "Not a JPEG image, getting DCT coefficients from pixel values (in case it is a resave from an older JPEG).");
            BufferedImage origImage;
            try {
                origImage = ImageIO.read(new File(fileName));
                int[][] dcts2 = dctCoeffExtractor.extractYDCT(origImage);
                dcts = dcts2;
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    } catch (Error err) {
        err.printStackTrace();
        System.out.println(
                "Could not load native JPEGlib-based DCT extractor, getting DCT coefficients from pixel values.");
        BufferedImage OrigImage;
        try {
            OrigImage = ImageIO.read(new File(fileName));
            int[][] dcts2 = dctCoeffExtractor.extractYDCT(OrigImage);
            dcts = dcts2;
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    detectDQDiscontinuities();
}

From source file:zz.pseas.ghost.login.weibo.SinaWeiboLogin.java

public static String getSinaCookie(String username, String password) throws Exception {

    StringBuilder sb = new StringBuilder();
    HtmlUnitDriver driver = new HtmlUnitDriver(true);
    // driver.setSocksProxy("127.0.0.1", 1080);
    // driver.setProxy("127.0.0.1", 1080);
    // HtmlOption htmlOption=new Ht
    // WebDriver driver = new FirefoxDriver();
    driver.setJavascriptEnabled(true);//from w w w.j a v a  2 s .  c  o  m
    // user agent switcher//
    String loginAddress = "http://login.weibo.cn/login/";
    driver.get(loginAddress);
    WebElement ele = driver.findElementByCssSelector("img");
    String src = ele.getAttribute("src");
    String cookie = concatCookie(driver);

    CloseableHttpClient httpclient = HttpClients.createDefault();
    RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(1000).setConnectTimeout(1000)
            .setCookieSpec(cookie).build();

    HttpGet httpget = new HttpGet(src);
    httpget.setConfig(requestConfig);
    CloseableHttpResponse response = httpclient.execute(httpget);

    HttpEntity entity;
    String result = null;
    try {

        if (response.getStatusLine().getStatusCode() != HttpURLConnection.HTTP_OK) {
            // try again//
        }
        entity = response.getEntity();

        if (entity != null) {
            InputStream instream = entity.getContent();
            try {
                // do something useful
                InputStream inputStream = entity.getContent();
                BufferedImage img = ImageIO.read(inputStream);
                // deal with the weibo captcha //
                String picName = LoginUtils.getCurrentTime("yyyyMMdd-hhmmss");
                // captcha//
                LoginUtils.getCaptchaDir();
                picName = "./captcha/captcha-" + picName + ".png";
                ImageIO.write(img, "png", new File(picName));
                String userInput = new CaptchaFrame(img).getUserInput();
                WebElement mobile = driver.findElementByCssSelector("input[name=mobile]");
                mobile.sendKeys(username);
                WebElement pass = driver.findElementByCssSelector("input[name^=password]");
                pass.sendKeys(password);
                WebElement code = driver.findElementByCssSelector("input[name=code]");
                code.sendKeys(userInput);
                WebElement rem = driver.findElementByCssSelector("input[name=remember]");
                rem.click();
                WebElement submit = driver.findElementByCssSelector("input[name=submit]");
                // ?//
                submit.click();
                result = concatCookie(driver);
                driver.close();
            } finally {
                instream.close();
            }
        }
    } finally {
        response.close();
    }

    if (result.contains("gsid_CTandWM")) {
        return result;
    } else {
        // throw new Exception("weibo login failed");
        return null;
    }
}

From source file:ImageDrawingComponent.java

public ImageDrawingComponent(URL imageSrc) {
    try {/*from w  w w .j  a  v a  2  s.  c o m*/
        bi = ImageIO.read(imageSrc);
        w = bi.getWidth(null);
        h = bi.getHeight(null);
        if (bi.getType() != BufferedImage.TYPE_INT_RGB) {
            BufferedImage bi2 = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
            Graphics big = bi2.getGraphics();
            big.drawImage(bi, 0, 0, null);
            bi = bi2;
        }
    } catch (IOException e) {
        System.out.println("Image could not be read");
        System.exit(1);
    }
}

From source file:de.mprengemann.intellij.plugin.androidicons.images.ImageUtils.java

public static BufferedImage resizeNormalImage(ImageInformation information) throws IOException {
    BufferedImage image = ImageIO.read(information.getImageFile());
    return resizeNormalImage(image, information);
}

From source file:com.smash.revolance.ui.model.helper.ImageHelper.java

public static BufferedImage decodeToImage(String imageString) throws Exception {
    imageString = imageString.split(BASE64_IMAGE_PNG)[1];
    BufferedImage image = null;/*from   w  w  w  .j av  a 2 s .c  o m*/
    byte[] imageByte;

    Base64 decoder = new Base64();
    imageByte = decoder.decode(imageString);
    ByteArrayInputStream bis = new ByteArrayInputStream(imageByte);
    try {
        image = ImageIO.read(bis);
    } finally {
        IOUtils.closeQuietly(bis);
    }

    return image;
}

From source file:com.cognifide.aet.job.common.comparators.layout.utils.ImageComparisonTest.java

@Test
public void testCompare_different() throws Exception {
    InputStream sampleStream = null;
    InputStream patternStream = null;
    InputStream maskStream = null;
    InputStream expectedMaskStream = null;
    try {/*from  ww  w . j  av a2s .  c  o m*/
        // given
        sampleStream = getClass().getResourceAsStream("/mock/LayoutComparator/image.png");
        patternStream = getClass().getResourceAsStream("/mock/LayoutComparator/image2.png");

        BufferedImage sample = ImageIO.read(sampleStream);
        BufferedImage pattern = ImageIO.read(patternStream);
        // when
        ImageComparisonResult imageComparisonResult = ImageComparison.compare(pattern, sample);
        // then
        assertThat(imageComparisonResult.isMatch(), is(false));
        assertThat(imageComparisonResult.getHeightDifference(), is(0));
        assertThat(imageComparisonResult.getWidthDifference(), is(0));
        assertThat(imageComparisonResult.getPixelDifferenceCount(), is(15600));

        maskStream = imageToStream(imageComparisonResult.getResultImage());
        expectedMaskStream = getClass().getResourceAsStream("/mock/LayoutComparator/mask-different.png");

        assertThat(IOUtils.contentEquals(maskStream, expectedMaskStream), is(true));
    } finally {
        closeInputStreams(sampleStream, patternStream, maskStream, expectedMaskStream);
    }
}