屏幕截取软件
(一) 屏幕截取要先获得屏幕的大小,上代码
Toolkit是系统工具包的意思;通过这个抽象类可以获得屏幕的尺寸
/*
* 获取系统工具包,屏幕截取要先获得屏幕的大小
*/
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension dimension = toolkit.getScreenSize();
System.out.println("屏幕的高度是:"+dimension.getHeight()+"px,屏幕的宽度是:"+dimension.getWidth()+"px");
控制台输出:屏幕的高度是:768.0px,屏幕的宽度是:1366.0px
(二) 屏幕截取要获得屏幕的图片,上代码
/* * 通过小机器人抓取dimension大小的屏幕图像,输出的是BufferedImage属性的图像 */ Robot robot = new Robot(); Rectangle screenRect = new Rectangle(dimension); BufferedImage bufferedImage = robot.createScreenCapture(screenRect);
(三)创建一个窗体,用于展示我们截取的图片
/* * 创建一个窗体,存放小机器人截取的图片 * */ screenFrame screenFrame = new screenFrame(dimension); screenFrame.setBackGround(bufferedImage);
/* * 创建截屏的窗口 */ class screenFrame{ //窗口 private JFrame frame; private JLabel background; public screenFrame(Dimension dimension) { // TODO 自动生成的构造函数存根 background = new JLabel(); frame = new JFrame("屏幕截取软件"); //创建滚动的面板容器 ScrollPane scrollPane = new ScrollPane(); frame.add(scrollPane); //创建滚动面板里面的面板 //JPanel panel = new JPanel(); scrollPane.add(background); //在面板里面添加background //panel.add(background); /* * JFrame常用的一些配置操作,没什么好说的 */ frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(dimension); frame.setLocationRelativeTo(null); frame.setVisible(true); } /* * 这个方法是当我们存入图片的时候,自动刷新窗体用的 */ void setBackGround(BufferedImage bufferedImage){ background.setIcon(new ImageIcon(bufferedImage)); frame.repaint(); } }
(四)要将我们截取的图片保存的本地的目录才行,保存的格式为jpg
/* * 自动存放到本地电脑里面 */ //给图片生成一个随机的名字 String imageName =new String(String.valueOf(System.currentTimeMillis())); //找一个图片文件输出的目录 File imageOutFile = new File("C:"+File.separator+"Users"+File.separator+"hacker"+File.separator+"Pictures", imageName+".jpg"); //利用ImageIO的write方法输出图片 boolean outSuccess = ImageIO.write(bufferedImage, "jpg", imageOutFile); System.out.println(outSuccess);
(五)上一张我们截取的图片激动人心一下吧


浙公网安备 33010602011771号