1

これが私がそれを作ることを計画している方法です:
記録を開始および停止するための開始および停止ボタンを備えた小さなJFrameがあります。[開始]をクリックすると、java.awt.Robotスクリーンショットを繰り返すスレッドが開始されます。
ここから私の問題が始まります。ロボットはスクリーンショットを撮りますが、
1。カーソルの位置は記録されません
2.画像がどこに保存されるかわかりません。を使用して名前を決定するフォルダに保存するつもりですjava.util.Date
3.BufferedImageクラスを1ビット理解していません。

JFrameの作成が完了し、スレッドを実装しました。画像をaviムービーに変換するインターネットから入手したパッケージがあります。
上記の3つの問題を解決するのを手伝ってください。

編集:

import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.File;

public void captureScreen(String fileName) throws Exception {

   Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
   Rectangle screenRectangle = new Rectangle(screenSize);
   Robot robot = new Robot();
   BufferedImage image = robot.createScreenCapture(screenRectangle);
   ImageIO.write(image, "png", new File(fileName));

}  

私の問題に関して上記のコードを説明していただければ幸いです。

4

1 に答える 1

1

スクリーンショットでカーソルを取得するための解決策は、次のとおりです。カーソルの位置を把握します。

java.awt.MouseInfo.getPointerInfo().getLocation()

スクリーンショットの上にカーソルのレンダリング画像を配置します。これを見てください:http://docs.oracle.com/javase/tutorial/2d/images/index.html

于 2012-08-09T15:38:59.990 に答える