/** * Convert BufferredImage to RGBPicture * * @param source BufferedImage of TYPE_3_BYTE_BGR */ public RGBPicture fromBufferedImage(BufferedImage source) { return fromBufferedImage(source, null); }
@Override public void delete() { decoder.delete(); }
/** * Convert RGBPicture to BufferedImage, minimizing object allocation * * @param picture RGBPicture to convert * @return new BufferedImage. */ public BufferedImage toBufferedImage(RGBPicture picture) { return toBufferedImage(picture, null); }
public BufferedImage decompressJPEGDataToBufferedImage(byte[] jpegData) { ByteBuffer byteBuffer = byteBufferProvider.getOrCreateBuffer(jpegData.length); byteBuffer.put(jpegData); byteBuffer.flip(); YUVPicture yuvPicture = jpegDecoder.decode(byteBuffer); BufferedImage bufferedImage = yuvPictureConverter.toBufferedImage(yuvPicture); yuvPicture.delete(); return bufferedImage; } }
/** * Convert YUVPicture to BufferedImage, minimizing object allocation * * @param picture YUVPicture to convert * @return new BufferedImage. */ public BufferedImage toBufferedImage(YUVPicture picture) { return toBufferedImage(picture, null); }
public byte[] convertBufferedImageToJPEGData(BufferedImage bufferedImage) { try { YUVPicture picture = converter.fromBufferedImage(bufferedImage, YUVSubsamplingType.YUV420); ByteBuffer buffer = encoder.encode(picture, 75); byte[] data = new byte[buffer.remaining()]; buffer.get(data); return data; } catch (IOException e) { e.printStackTrace(); return null; } } }
@Override public YUVPicture getFrame(Packet frame) throws IOException { ByteBuffer buf = frame.getData(); return decoder.decode(buf); }
@Override public void encodeFrame(BufferedImage frame) throws IOException { if(converter == null) { converter = new YUVPictureConverter(); } YUVPicture pic = converter.fromBufferedImage(frame, YUVSubsamplingType.YUV420); encodeFrame(pic); pic.delete(); }
@Override public void encodeFrame(BufferedImage frame) throws IOException { YUVPicture picture = converter.fromBufferedImage(frame, YUVSubsamplingType.YUV420); encodeFrame(picture); picture.delete(); }
/** * Convert YUVPicture to BufferedImage, minimizing object allocation * * @param picture YUVPicture to convert * @return new BufferedImage. */ public BufferedImage toBufferedImage(YUVPicture picture) { return toBufferedImage(picture, null); }
@Override public YUVPicture getFrame(Packet frame) throws IOException { ByteBuffer buf = frame.getData(); return decoder.decode(buf); }
@Override public void encodeFrame(BufferedImage frame) throws IOException { if(converter == null) { converter = new YUVPictureConverter(); } YUVPicture pic = converter.fromBufferedImage(frame, YUVSubsamplingType.YUV420); encodeFrame(pic); pic.delete(); }
/** * Convert BufferredImage to RGBPicture * * @param source BufferedImage of TYPE_3_BYTE_BGR */ public RGBPicture fromBufferedImage(BufferedImage source) { return fromBufferedImage(source, null); }
@Override public void delete() { decoder.delete(); }
/** * Convert RGBPicture to BufferedImage, minimizing object allocation * * @param picture RGBPicture to convert * @return new BufferedImage. */ public BufferedImage toBufferedImage(RGBPicture picture) { return toBufferedImage(picture, null); }
@Override public void run() { image.setIcon(new ImageIcon(converter.toBufferedImage(img))); } });
@Override public RGBPicture createScreenCapture(Rectangle bounds) { return converter.fromBufferedImage(robot.createScreenCapture(bounds)); }
@Override public RGBPicture createScreenCapture(Rectangle bounds) { return converter.fromBufferedImage(robot.createScreenCapture(bounds)); }
public YUVPicture fromBufferedImage(BufferedImage source, YUVSubsamplingType samplingType) { RGBPicture rgb = rgbPictureConverter.fromBufferedImage(source); YUVPicture target = rgb.toYUV(samplingType); rgb.delete(); return target; } }
public YUVPicture fromBufferedImage(BufferedImage source, YUVSubsamplingType samplingType) { RGBPicture rgb = rgbPictureConverter.fromBufferedImage(source); YUVPicture target = rgb.toYUV(samplingType); rgb.delete(); return target; } }