//记录屏幕、类似录像
packagechapter08;import javax.swing.*;import java.awt.*;import java.awt.image.*;import com.sun.image.codec.jpeg.*;import java.io.*;public class WnetWScreenRecorder extendsThread {privateDimension screenSize;privateRectangle rectangle;privateRobot robot;private long i = 0;
@SuppressWarnings("unused")privateJPEGImageEncoder encoder;publicWnetWScreenRecorder() {
screenSize=Toolkit.getDefaultToolkit().getScreenSize();
rectangle= new Rectangle(screenSize);//可以指定捕获屏幕区域
try{
robot= newRobot();
}catch(Exception e) {
e.printStackTrace();
System.out.println(e);
}
}public static voidmain(String[] args) {newWnetWScreenRecorder().start();
}public voidrun() {
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) {
}
}
}
}
}//记录屏幕、类似录像
packagechapter08;import javax.swing.*;import java.awt.*;import java.awt.image.*;import com.sun.image.codec.jpeg.*;import java.io.*;public class WnetWScreenRecorder extendsThread {privateDimension screenSize;privateRectangle rectangle;privateRobot robot;private long i = 0;
@SuppressWarnings("unused")privateJPEGImageEncoder encoder;publicWnetWScreenRecorder() {
screenSize=Toolkit.getDefaultToolkit().getScreenSize();
rectangle= new Rectangle(screenSize);//可以指定捕获屏幕区域
try{
robot= newRobot();
}catch(Exception e) {
e.printStackTrace();
System.out.println(e);
}
}public static voidmain(String[] args) {newWnetWScreenRecorder().start();
}public voidrun() {
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) {
}
}
}
}
}//记录屏幕、类似录像
packagechapter08;import javax.swing.*;import java.awt.*;import java.awt.image.*;import com.sun.image.codec.jpeg.*;import java.io.*;
@SuppressWarnings("serial")//播放屏幕录像
public class WnetWScreenRecordPlayer extendsJFrame {
BorderLayout borderLayout1= newBorderLayout();
Dimension screenSize;publicWnetWScreenRecordPlayer() {super();
screenSize=Toolkit.getDefaultToolkit().getScreenSize();this.setSize(screenSize);
Screen p= newScreen();
Container c= this.getContentPane();
c.setLayout(borderLayout1);
c.add(p,"Center");newThread(p).start();this.setVisible(true);
}public static voidmain(String[] args) {newWnetWScreenRecordPlayer();
}
}