//记录屏幕、类似录像
package chapter08;
import javax.swing.*;
import java.awt.*;
import java.awt.image.*;
import com.sun.image.codec.jpeg.*;
import java.io.*;
public class WnetWScreenRecorder extends Thread {
private Dimension screenSize;
private Rectangle rectangle;
private Robot robot;
private long i = 0;
@SuppressWarnings("unused")
private JPEGImageEncoder encoder;
public WnetWScreenRecorder() {
screenSize = Toolkit.getDefaultToolkit().getScreenSize();
rectangle = new Rectangle(screenSize);// 可以指定捕获屏幕区域
try {
robot = new Robot();
} catch (Exception e) {
e.printStackTrace();
System.out.println(e);
}
}
public static void main(String[] args) {
new WnetWScreenRecorder().start();
}
public void run() {
FileOutputStream fos = null;
while (true) {
try {
BufferedImage image = robot.createScreenCapture(rectangle);// 捕获制定屏幕矩形区域
fos = new FileOutputStream("C:\\records\\" + i + ".png");
JPEGCodec.createJPEGEncoder(fos).encode(image);// 图像编码成JPEG
fos.close();
i = i + 1;
Thread.sleep(25);// 每秒25帧
} catch (Exception e) {
e.printStackTrace();
System.out.println(e);
try {
if (fos != null)
fos.close();
} catch (Exception e1) {
}
}
}
}
}
//记录屏幕、类似录像
package chapter08;
import javax.swing.*;
import java.awt.*;
import java.awt.image.*;
import com.sun.image.codec.jpeg.*;
import java.io.*;
public class WnetWScreenRecorder extends Thread {
private Dimension screenSize;
private Rectangle rectangle;
private Robot robot;
private long i = 0;
@SuppressWarnings("unused")
private JPEGImageEncoder encoder;
public WnetWScreenRecorder() {
screenSize = Toolkit.getDefaultToolkit().getScreenSize();
rectangle = new Rectangle(screenSize);// 可以指定捕获屏幕区域
try {
robot = new Robot();
} catch (Exception e) {
e.printStackTrace();
System.out.println(e);
}
}
public static void main(String[] args) {
new WnetWScreenRecorder().start();
}
public void run() {
FileOutputStream fos = null;
while (true) {
try {
BufferedImage image = robot.createScreenCapture(rectangle);// 捕获制定屏幕矩形区域
fos = new FileOutputStream("C:\\records\\" + i + ".png");
JPEGCodec.createJPEGEncoder(fos).encode(image);// 图像编码成JPEG
fos.close();
i = i + 1;
Thread.sleep(25);// 每秒25帧
} catch (Exception e) {
e.printStackTrace();
System.out.println(e);
try {
if (fos != null)
fos.close();
} catch (Exception e1) {
}
}
}
}
}
//记录屏幕、类似录像
package chapter08;
import javax.swing.*;
import java.awt.*;
import java.awt.image.*;
import com.sun.image.codec.jpeg.*;
import java.io.*;
@SuppressWarnings("serial")
// 播放屏幕录像
public class WnetWScreenRecordPlayer extends JFrame {
BorderLayout borderLayout1 = new BorderLayout();
Dimension screenSize;
public WnetWScreenRecordPlayer() {
super();
screenSize = Toolkit.getDefaultToolkit().getScreenSize();
this.setSize(screenSize);
Screen p = new Screen();
Container c = this.getContentPane();
c.setLayout(borderLayout1);
c.add(p, "Center");
new Thread(p).start();
this.setVisible(true);
}
public static void main(String[] args) {
new WnetWScreenRecordPlayer();
}
}