javacv - 快速截图 - 如何获取图像

时间:2015-07-20 18:15:46

标签: java javacv

我刚刚找到了一个很好的JavaCV示例,它使用FFmpegFrameGrabber来制作应该“快速”的linux的截图代码:

try {
    int x = 0, y = 0, w = 1366, h = 768;
    FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(":0.0+" + x + "," + y);
    grabber.setFormat("x11grab");
    grabber.setImageWidth(w);
    grabber.setImageHeight(h);
    grabber.start();
    CanvasFrame frame = new CanvasFrame("Screen Capture");

    frame.showImage(grabber.grabImage());

    frame.dispose();
    grabber.stop();
} catch (FrameGrabber.Exception ex) {
    ex.printStackTrace();
}

...无论如何我仍然不确定如何获取屏幕截图的图像以保存在文件中。我找不到任何相关的例子,所以我确实需要你的建议......

所以我的问题是如何获取截图的图像以使IO成为可能?

1 个答案:

答案 0 :(得分:1)

查看API of JavaCV,有一个抽象的FrameConverter<F>类。具体实现Java2DFrameConverter看起来就像你要找的那样。