0

我目前正在使用 java 计时器来安排我的程序打印屏幕

timer.scheduleAtFixedRate(new PrintScreen(),0,1);

这是我的代码,它计划以 0 秒延迟和 0.001 秒/图像执行 PrintScreen

由于结果图像在打印屏幕期间仍然有一些滞后,它可以更快地工作吗?

我目前每 0.001 秒使用一次 java 打印屏幕。我已将图像附加为 1.jpeg 和 2.jpeg

但我希望图像输出在某种程度上类似于 image3.jpg、image4.jpg 和 image5.jpg,它们可以看到微小的运动

1.jpg:http ://www.java.net/sites/default/files/1.jpeg

2.jpg:http ://www.java.net/sites/default/files/2.jpeg

image3.jpg : http://www.java.net/sites/default/files/image3.jpg

image4.jpg : http://www.java.net/sites/default/files/image4.jpg

image5.jpg : http://www.java.net/sites/default/files/image5.jpg

对此有什么建议吗?提前感谢您的回复。

==================================================== =================================更新这是我打印屏幕的全部代码

        Toolkit tool = Toolkit.getDefaultToolkit();
        Dimension d = tool.getScreenSize();
        Rectangle rect = new Rectangle(d);
        Robot robot = new Robot();
        ss.setScreenCount();
        int index = ss.getScreenCount();
        String screenFileName = "screenshot_" + index + ".jpeg";  
        File f = new File(screenFileName);
        BufferedImage img = robot.createScreenCapture(rect);
        ImageIO.write(img,"jpeg",f);

        int totalClient = ss.getTotalClient();
        for(int i=0;i<totalClient;i++)
        {
            RshScp rsThread = new RshScp(screenFileName,i,ss);
            Thread rs = new Thread(rsThread,"RshScpThread");        
            rs.start();
        }
4

1 回答 1

4

在一秒钟内截取 1000 个屏幕截图似乎很难做到,而且考虑到大多数显示器的更新速度远不及这个速度,这也很奇怪。您似乎正在尝试捕获视频。视频往往以每秒 24 到 60 帧的速度运行。每秒 1000 帧有点荒谬。

于 2012-04-24T03:28:44.153 回答