List of usage examples for javax.imageio ImageIO read
public static BufferedImage read(ImageInputStream stream) throws IOException
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); } }