2

私は最近、Robotクラスを使用して Java でスクリーン ショットをキャプチャすることについて研究しました。そのために次のコードを実装しました。

public class Beginning implements Runnable {

    private Thread thread;
    private static long counter = 0;
    private final int FRAME_CAPTURE_RATE = 124;
    private Robot robot;

    public Beginning() throws Exception {
        robot = new Robot();
        thread = new Thread(this);
        thread.start();
    }

    public static void main(String[] args) throws Exception {
        Beginning beginning = new Beginning();
    }

    public void run() {
        for (;;) {
            try {
                Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
                BufferedImage bufferedImage = robot.createScreenCapture(screenRect);
                ImageIO.write(bufferedImage, "png", new File("D:\\CapturedFrame\\toolImage" + counter + ".png"));
                counter++;
                thread.sleep(FRAME_CAPTURE_RATE);
            } catch (Exception e) {
                System.err.println("Something fishy is going on...");
            }
        }
    }
}

このコードの出力として、サイズが 1024x1024 の画像を取得していますが、これらは HD 画像ではありません。HD 形式でスクリーンショットをキャプチャするようにこのコードを変更する方法を教えてください。前もって感謝します。

現在、保存されている .png 画像では、単一のピクセル値が 8 ビットで保存されているため、これを 16 ビット以上に変更したいだけです

4

0 に答える 0