1. 概要

デスクトップで画面印刷アクションを実行する必要がある場合は、キーボードに組み込みの「PrntScr」ボタンがあります。 時にはそれで十分です。

ただし、プログラムでそのアクションを実行する必要がある場合に問題が発生します。 簡単に言うと、Javaを使用して現在のスクリーンショットを画像ファイルとして保存する必要がある場合があります。

それをどのように行うことができるか見てみましょう。

2. ロボットクラス

Java java .awt.Robot クラスは、これから使用するメインAPIです。 この呼び出しには、特定の形状が渡されたときにスクリーンショットを撮る「createScreenCapture」というメソッドが含まれています。

robot.createScreenCapture(rectangle);

上記のメソッドはjava.awt.image.BufferedImageインスタンスを返すため、javax.imageio.ImageIOユーティリティクラスを使用して取得した画像をファイルに書き込むだけです。 。

3. 画像ファイルのキャプチャと保存

画像のキャプチャと保存のためのJavaコードは次のとおりです。

public void getScreenshot(int timeToWait) throws Exception {
    Rectangle rec = new Rectangle(
      Toolkit.getDefaultToolkit().getScreenSize());
    Robot robot = new Robot();
    BufferedImage img = robot.createScreenCapture(rectangle);
    
    ImageIO.write(img, "jpg", setupFileNamePath());
}

ここでは、必要なサイズを java.awt.Rectangle インスタンスに設定することで、画面の一部をキャプチャすることができます。 ただし、上記の例では、現在の画面サイズを設定することにより、全画面をキャプチャするように設定されています。

4. 結論

このチュートリアルでは、Javaでの印刷画面の使用法について簡単に説明しました。 上記の例のソースコードは、GitHubプロジェクトにあります。