编程词典
明日图书
明日软件
用户注册
用户登录
站内
  当前位置:编程词典服务网 >> 编程词典社区论坛 >> 屏幕截图
  · 屏幕截图

用户:  明日科技
发帖:  417 篇
作品:  1 个
回复:  2 篇
技术分:  805 分
等级:  
注册:  2009-09-07 06:37:23



发表于:2010-06-10 15:56:05
          楼主

屏幕截图

截取屏幕图像是实现远程控制或屏幕录像的基础,只有不断的获取屏幕图像并形成动态的影像,才能对屏幕进行监控。Java语言在java.awt包中定义了Robot类,该类提供了createScreenCapture()方法可以获取屏幕图像并保存在BufferedImage类的图像对象中。该方法的语法格式如下:

public BufferedImage createScreenCapture(Rectangle screenRect)

screenRect:要截取的屏幕图像的矩形区域,它是Rectangle类的实例对象。

返回值:返回参数指定的矩形区域的屏幕图像。

Toolkit toolkit = Toolkit.getDefaultToolkit();                                       // 获取工具类的实例对象

screenSize = toolkit.getScreenSize();                                                      // 获取屏幕大小

rectangle = new Rectangle(screenSize);                                         // 创建屏幕大小的矩形对象

……// 省略部分代码

while (!socket.isClosed()) {

           try {

                   Thread.sleep(100);                                                     // 线程休眠0.1

                  // 截取整个屏幕大小的图像

                   BufferedImage image = robot.createScreenCapture(rectangle);

                   encoder.encode(image);                                               // 将图像编码到指定的网络输出流

           } catch (Exception e) {

                   e.printStackTrace();

                   try {

                            bout.close();                                                       // 关闭输出流

                            outputStream.close();

                            socket.close();                                                    // 关闭网络连接

                            JOptionPane.showMessageDialog(frame, "协助异常终止。");

                   } catch (IOException e1) {

                            e1.printStackTrace();

                   }

           }

}

上述代码截取整屏图像之后的的效果如图6.5所示。

本帖赏分:0 分   回复数:0 篇     
修改   删除   引用   回复
该帖暂无回复!
吉林省明日科技有限公司提供技术支持. 
Copyright © 1999-2008 吉林省明日科技有限公司. 吉ICP备10002740
当前时区 GMT+8, 今天是 
刷新页面 - 关于我们 - 设为首页