相关疑难解决方法(0)

有没有办法使用Java截取屏幕截图并将其保存为某种图像?

标题简单说明:您是否可以仅使用Java命令截取屏幕并保存?或者,我是否需要使用特定于操作系统的程序来截取屏幕截图然后将其从剪贴板中取出?

java screenshot image

125
推荐指数
4
解决办法
12万
查看次数

Java applet屏幕截图到视频

我想知道如何使用java捕获截屏视频.我知道使用Robot类可以获得截图,但我该如何将其作为视频捕获然后上传到服务器?这到底有多大?

想法?

java

15
推荐指数
2
解决办法
1万
查看次数

使用Java和awt.Robot时提高屏幕捕获速度

编辑:如果任何人还有任何其他建议,以提高屏幕捕获性能,请随意分享,因为它可能完全解决我的问题!

你好开发者,

我正在为自己制作一些基本的屏幕捕获软件.截至目前,我已经获得了一些概念/修补代码的证明,它使用java.awt.Robot将屏幕捕获为BufferedImage.然后我执行此捕获指定的时间,然后将所有图片转储到磁盘.从我的测试中我得到大约每秒17帧.

试验#1

时长:15秒拍摄的图像:255

试验#2

时长:15秒图像捕获:229

显然,这对于真正的屏幕捕获应用程序来说还不够好.特别是因为这些捕获只是在我的IDE中选择一些文本而没有任何图形密集的文本.

我现在有两个班级是Main类和一个"Monitor"类.Monitor类包含捕获屏幕的方法.我的Main类有一个基于时间的循环,它调用Monitor类并将它返回的BufferedImage存储到BufferedImages的ArrayList中.如果我修改我的主类来生成几个执行该循环的线程,并且还收集有关捕获图像的系统时间的信息,我可以提高性能吗?我的想法是使用一个共享数据结构,它将在插入时基于捕获时间自动对帧进行排序,而不是将连续图像插入到arraylist中的单个循环.

码:

监控

public class Monitor {

/**
 * Returns a BufferedImage
 * @return
 */
public BufferedImage captureScreen() {
    Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
    BufferedImage capture = null;

    try {
        capture = new Robot().createScreenCapture(screenRect);
    } catch (AWTException e) {
        e.printStackTrace();
    }

    return capture;
}
}
Run Code Online (Sandbox Code Playgroud)

主要

public class Main {


public static void main(String[] args) throws InterruptedException {
    String outputLocation = "C:\\Users\\ewillis\\Pictures\\screenstreamer\\";
    String namingScheme = "image";
    String mediaFormat = "jpeg";
    DiscreteOutput output …
Run Code Online (Sandbox Code Playgroud)

java java-2d awtrobot javax.imageio

12
推荐指数
2
解决办法
6851
查看次数

如何在Java中快速截取屏幕截图?

我正在实现一个简单的眼动仪,它需要快速截屏屏幕上发生的事情,同时从网络摄像头捕获视频.

问题在于使用Robot进行操作的方法,这里提到:https://stackoverflow.com/questions/2475303/java-library-for-capturing-active-window-screenshot 非常慢.

顺便说一句,从网络摄像头检索视频的速度要快得多,并返回字节数组,这样处理速度非常快.

有人知道更快的解决方案吗?可以链接到Java的C++库也可以提供帮助.

谢谢!

更新:决定切换到OpenCV,现在正在寻找用它制作截图的方法:)

java screenshot

9
推荐指数
3
解决办法
1万
查看次数

如何开发屏幕截图到视频应用程序

我在stackoverflow中发现了类似的问题.但我想要具体.我访问了一个网站screencast-o-matic.他们有一个java applet的web应用程序,它捕获屏幕以导出为视频.我想开发类似的应用程序.这样做需要哪些知识和步骤?

感谢致敬.

编辑另一个网站屏幕.

java screen video-capture javasound

8
推荐指数
2
解决办法
4万
查看次数

如何在屏幕捕获程序中使用 Java 获得超过 30FPS?

我目前正在使用 Java 中的 Robot 类来记录屏幕。但是,它没有达到每秒 30 帧的最小值。我不是重新创建对象,而是尽可能高效,但我平均每秒只有 15 帧左右。机器人根本不切割它。

我可以用什么来捕获屏幕?我试过 Xuggle,但我似乎也无法足够快地捕捉它。

java screen capture recording awtrobot

2
推荐指数
2
解决办法
5045
查看次数