我目前正在使用java计时器来安排我的程序打印屏幕
timer.scheduleAtFixedRate(new PrintScreen(),0,1);
这是我的代码,它计划使用0s延迟和0.001s / image
进行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();
}
答案 0 :(得分:4)
在一秒钟内拍摄1000张截图似乎很难做到,而且考虑到大多数显示器都在接近该速率的情况下更新,因此相当奇怪。看起来你正试图捕捉视频。视频往往在每秒24到60帧之间运行。每秒1000帧有点荒谬。