java截全屏_用Java写的截取全屏并保存至文件

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

06120403_34hr.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值