[摘]Java屏幕截取

import java.awt.Desktop;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;

import javax.imageio.ImageIO;

public class CaptureScreen {
  public static void captureScreen(String fileName,String folder) throws Exception{
    //Dimension定义图片的尺寸,Toolkit 定义的一些方法能直接查询本机操作系统。该句的意义就是获得系统屏幕尺寸,保存的Dimension类型的screenSize里面
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    //Rectangle 指定了坐标空间中的一个区域,根据宽度和高度可以定义一个区域
    Rectangle screenRectangle = new Rectangle(screenSize);
    //此类用于为测试自动化、自运行演示程序和其他需要控制鼠标和键盘的应用程序生成本机系统输入事件。
    Robot robot = new Robot();
    //robot的对象的creatScreenCapture方法的作用就是创建包含从屏幕中读取的像素的图像。该图像不包括鼠标光标。然后将读取的图像赋给image对象。
    BufferedImage image = robot.createScreenCapture(screenRectangle);

    //保存路径,将image对象保存为图像文件
    //创建文件夹
    File screenFile = new File(fileName);
    //判断文件夹是否存在
    if(!screenFile.exists()){
      //创建此抽象路径名指定的目录。
      screenFile.mkdir();
    }

    //根据文件夹对象和文件名及格式,创建文件
    File f = new File(screenFile,folder);
    //使用支持给定格式的任意 ImageWriter 将一个图像写入 File。如果已经有一个 File 存在,则丢弃其内容。
    //期中第一个是图像内存数据,第二个是文本格式,第三个就是文件对象(也可以是数据流,但这里要写文件,所以用文件流)
    ImageIO.write(image, "png", f);
    //自动打开
    /* 在Jdk1.6以后新增加了一个类--DeskTop:The Desktop class allows a Java application to
    launch associated applications registered on the native desktop to handle a URI or a file.*/
    //isDesktopSupported:Tests whether this class is supported on the current platform.
    //isSupported: Tests whether an action is supported on the current platform.
    //Action:Represents an action type.加上.open就是名是判断能否打开,返回true
    //getDesktop():Returns the Desktop instance of the current browser context;
    if(Desktop.isDesktopSupported()&&Desktop.getDesktop().isSupported(Desktop.Action.OPEN))
      //获得Desktop对象,进行打开操作,打开的对象是文件对象
      Desktop.getDesktop().open(f);
  }

  public static void main(String[] args) {
  // TODO Auto-generated method stub
    try{
      captureScreen("F:\\你好","11.png");
    }catch(Exception e){
      e.printStackTrace();
    }
  }

}

注:摘选自开源中国,版权归作者所有,严禁任何形式的侵犯!

摘录网址:http://www.oschina.net/code/snippet_1586782_48653

时间: 2024-08-28 10:20:47

[摘]Java屏幕截取的相关文章

只显示 前100个字 java 实现截取字符串!使用! <c:if test="${fn:length(onebeans.info)>100 }">${ fn:substri

博客 文章 只显示 前100个字 java 实现截取字符串!使用! <c:if test="${fn:length(onebeans.info)>100 }">${ fn:substri http://blog.csdn.net/tfy1332/article/details/22811835 2014-04-02 17:14 3406人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载. <%@ taglib prefix=&qu

java 字符串截取 - 最后带上mysql字符串截取比较

Java中的substring()方法有两个方法的重载,一个带一个参数的,一个带两个参数的. 第一种写法: substring(n);//从索引是n的字符开始截取,条件(n>=0,n<字符串长度),第一个字符的索引是0 .n作为第一个参数,必须小于字符串长度,因为这边是从包含n下边开始截取的,所以n肯定不能等于字符串整个位数长度,而下边的m作为第二个参数才可以等于. 第二种写法: substring(n,m);//从n开始,截取m-n个字符,条件(n<m,m<=字符串长度) 通俗点

java中截取字符串的方式

1.length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); int len=s.length(); 2.charAt() 截取一个字符 例:char ch; ch="abc".charAt(1); 返回'b' 3.getChars() 截取多个字符 void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)

java中截取字符串方法

Java 简介 substring public String substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串.该子字符串始于指定索引处的字符,一直到此字符串末尾. 例如: "unhappy".substring(2) returns "happy" "Harbison".substring(3) returns "bison" "emptiness".s

java 字符串截取

String url="<img src="http://p1.qhimg.com/d/_hao360/weather/4.png" title="雷阵雨"> "; if(!weather_pic.equals("")) { if(weather_pic.indexOf("src")>-1) { url=url.substring(url.indexOf("src")+

Java循环截取字符串,存储到list中

字符串截取  存到list中 使用base转换文件 存储可能会用到 public void demo() { String str = "ABCDEFGfdsdgdgdgdH1f"; List<String> list = new ArrayList<String>(); String streee = ""; int len = str.length(); int sub = 3; if (len % sub != 0) { for (in

java 字符串截取的几种方式

1.split()+正则表达式来进行截取. 将正则传入split().返回的是一个字符串数组类型.不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时. String str = "abc,12,3yy98,0"; String[] strs=str.split(","); for(int i=0,len=strs.length;i<len;i++){ System.out.println(strs[i].toString()); } 1 2 3 4

Windows下使用ffmpeg与java实现截取视频缩略图

[ffmpeg.exe可执行文件获取]: 网上搜索后得到编译好的ffmpeg文件,下载地址:http://download.csdn.net/source/453719 [安装]: 将下载的文件解压,如:D:\ffmpeg,一共三个文件,分别是:ffmpeg.exe.ffplay.exe.pthreadGC2.dll.我们用到的应该是ffmpeg.exe. [实现获取视频缩略图的两种方式]: 1.调用批处理文件: 批处理文件(如:ffmpeg.bat),内容:D:/ffmpeg/ffmpeg.e

JAVA 正则表达式截取字符串小例子

例如:从如下字符串 营业时间: 11:30-21:30 修改 分类标签: 无线上网(8) 可以刷卡(7) 朋友聚餐(5) 家庭聚会(5) 商务宴请(4) 情侣约会(4) 可自带酒水(2) 中获取: 11:30-21:30 两个数字:两数字-两个数字:两个数字 因此 正则表达式:\\d{2}:\\d{2}-\\d{2}:\\d{2} 具体代码如下: import java.util.regex.Matcher; import java.util.regex.Pattern; public clas