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

1 秒間に 1000 枚のスクリーンショットを撮るのは難しいように思えます。ほとんどのディスプレイの更新速度がそれほど速くないことを考えると、かなり奇妙です。ビデオをキャプチャしようとしているようです。ビデオは、1 秒あたり 24 ~ 60 フレームで実行される傾向があります。毎秒 1000 フレームは少しばかげています。

于 2012-04-24T03:28:44.153 に答える