Java写的一个屏幕抓取工具,截取当前屏幕,并按指定文件名输出成png格式的图片
1.[文件] ScreenCapture.java ~ 975B 下载(49)
package net.poxiao.tools;
import java.awt.*;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.File;
public class ScreenCapture {
//抓取全屏,按给定名称创建文件
public static void captureScreen(String filename) throws Exception {
//获取屏幕的Size并保存至Dimension对象中
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
//构造一个Rectangle矩形区域,左上角为0,0,宽高为Dimension
Rectangle screenRectangle = new Rectangle(screenSize);
//使用Robot类创建包含从该矩形区域读取的图像
Robot robot = new Robot();
BufferedImage image = robot.createScreenCapture(screenRectangle);
//将要指定的BufferedImage对象以给定格式写入File
ImageIO.write(image, "png", new File(filename + ".png"));
//ImageIO.write(image, "jpg", new File(filename + ".jpg"));
//ImageIO.write(image, "gif", new File(filename + ".gif"));
}
}
2.[文件] ScreenCaptureTools.java ~ 1KB 下载(41)
/* 屏幕抓取工具 */
package net.poxiao.tools;
import javax.swing.*;
import java.awt.event.*;
public class ScreenCaptureTools implements ActionListener {
JFrame frame;
JPanel panel;
JLabel label;
JTextField text;
JButton button;
public static void main(String[] args) {
ScreenCaptureTools tool = new ScreenCaptureTools();
tool.startGUI();
}
public void startGUI() {
frame = new JFrame("抓屏工具");
panel = new JPanel();
label = new JLabel();
label.setText("保存文件名:");
text = new JTextField(10);
button = new JButton("截屏");
button.addActionListener(this);
panel.add(label);
panel.add(text);
panel.add(button);
frame.setContentPane(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 100);
frame.setResizable(false);
frame.setVisible(true);
}
public void actionPerformed(ActionEvent event) {
String filename = "";
filename = text.getText().trim();
if(filename == "" || filename.equals("")){
JOptionPane.showMessageDialog(frame, "文件名不能为空!");
} else {
frame.setVisible(false);
try {
Thread.sleep(1000);
ScreenCapture.captureScreen(filename);
} catch(Exception e) {
e.printStackTrace();
}
text.setText("");
frame.setVisible(true);
}
}
}
3.[图片] Unnamed QQ Screenshot20130806120445.png