javacv - 快速截图 - 如何获取图像
javacv - fast screenshot - how to get image
我刚刚找到了一个很好的 JavaCV 示例,它使用 FFmpegFrameGrabber 为 linux 制作屏幕截图代码,应该是 "fast":
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?
看着 API of JavaCV, there is an abstract FrameConverter<F>
class. The concrete implementation Java2DFrameConverter
看起来像你要找的东西。
我刚刚找到了一个很好的 JavaCV 示例,它使用 FFmpegFrameGrabber 为 linux 制作屏幕截图代码,应该是 "fast":
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?
看着 API of JavaCV, there is an abstract FrameConverter<F>
class. The concrete implementation Java2DFrameConverter
看起来像你要找的东西。