public Void call() throws Exception { Screenshots.convertScreenShot(item.buffer, item.image); item.data = writer.writeImageToBytes(item.image, quality); while (usedItems.peek() != item) { Thread.sleep(1); } writer.addImage(item.data); usedItems.poll(); freeItems.add(item); return null; } });
public void updateImageContents(){ cpuBuf.clear(); renderer.readFrameBuffer(offBuffer, cpuBuf); synchronized (image) { Screenshots.convertScreenShot2(cpuBuf.asIntBuffer(), image); } if (display != null) display.repaint(); }
public void repaintInThread() { // Convert screenshot. byteBuf.clear(); rm.getRenderer().readFrameBuffer(fb, byteBuf); synchronized (lock) { // All operations on img must be synchronized // as it is accessed from EDT. Screenshots.convertScreenShot2(intBuf, img); repaint(); } }
public void postFrame(FrameBuffer out) { if (capture){ capture = false; shotIndex++; renderer.readFrameBuffer(out, outBuf); Screenshots.convertScreenShot(outBuf, awtImage); try { ImageIO.write(awtImage, "png", new File(appName + shotIndex + ".png")); } catch (IOException ex){ logger.log(Level.SEVERE, "Error while saving screenshot", ex); } } } }
@Override public void writeImageFile(OutputStream outStream, String format, ByteBuffer imageData, int width, int height) throws IOException { BufferedImage awtImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR); Screenshots.convertScreenShot2(imageData.asIntBuffer(), awtImage); ImageWriter writer = ImageIO.getImageWritersByFormatName(format).next(); ImageWriteParam writeParam = writer.getDefaultWriteParam(); if (format.equals("jpg")) { JPEGImageWriteParam jpegParam = (JPEGImageWriteParam) writeParam; jpegParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); jpegParam.setCompressionQuality(0.95f); } awtImage = verticalFlip(awtImage); ImageOutputStream imgOut = new MemoryCacheImageOutputStream(outStream); writer.setOutput(imgOut); IIOImage outputImage = new IIOImage(awtImage, null, null); try { writer.write(null, outputImage, writeParam); } finally { imgOut.close(); writer.dispose(); } }
public Void call() throws Exception { Screenshots.convertScreenShot(item.buffer, item.image); item.data = writer.writeImageToBytes(item.image, quality); while (usedItems.peek() != item) { Thread.sleep(1); } writer.addImage(item.data); usedItems.poll(); freeItems.add(item); return null; } });
Screenshots.convertScreenShot2(intBuf, img);
public void repaintInThread(){ // Convert screenshot. byteBuf.clear(); rm.getRenderer().readFrameBuffer(fb, byteBuf); synchronized (lock){ // All operations on img must be synchronized // as it is accessed from EDT. Screenshots.convertScreenShot2(intBuf, img); repaint(); } }
@Override public void writeImageFile(OutputStream outStream, String format, ByteBuffer imageData, int width, int height) throws IOException { BufferedImage awtImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR); Screenshots.convertScreenShot2(imageData.asIntBuffer(), awtImage); ImageWriter writer = ImageIO.getImageWritersByFormatName(format).next(); ImageWriteParam writeParam = writer.getDefaultWriteParam(); if (format.equals("jpg")) { JPEGImageWriteParam jpegParam = (JPEGImageWriteParam) writeParam; jpegParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); jpegParam.setCompressionQuality(0.95f); } awtImage = verticalFlip(awtImage); ImageOutputStream imgOut = new MemoryCacheImageOutputStream(outStream); writer.setOutput(imgOut); IIOImage outputImage = new IIOImage(awtImage, null, null); try { writer.write(null, outputImage, writeParam); } finally { imgOut.close(); writer.dispose(); } }
Screenshots.convertScreenShot2(intBuf, img);