Я просто нашел хороший пример JavaCV, который с помощью FFmpegFrameGrabber сделать скриншот код для Linux, который должен быть «быстрым»:javacv - быстрый скриншот - как получить изображение
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();
}
... в любом случае я m все еще не уверен, как получить изображение скриншота для сохранения в файле. Я не мог найти какой-либо родственный пример, поэтому мне нужны ваши советы ...
Так что мой вопрос, как получить изображение снимка экрана, чтобы сделать возможным IO?
* Так что мой вопрос, как получить изображение скриншота, чтобы сделать возможным IO? * Uh ... что? – Turing85
@ Turing85 Код выше grabber.grabImage() см. Docs https://github.com/bytedeco/javacv/blob/master/src/main/java/org/bytedeco/javacv/FFmpegFrameGrabber.java возвращает кадр, который не является ни потоком ни изображение :(Так как получить полезный скриншот, который можно сохранить в файле, например? – user390525
[Этот класс] (http://bytedeco.org/javacv/apidocs/org/bytedeco/javacv/Java2DFrameConverter.html) выглядит так: он может преобразовать 'Frame' в' BufferedImage'. – Turing85