import java.awt.AWTException;
import java.awt.Desktop;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.event.KeyEvent;
import java.awt.image.RenderedImage;
import java.io.File;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.imageio.ImageIO;
/**
* 截取网页。
* @author __LuckyStar
* @date 20110416
*/
public class CaptureBrower {
/**
* 截取指定网页
* @param url 网址
* @param folderName 图片保存目录
* @throws IOException
* @throws URISyntaxException
* @throws AWTException
*/
private void capture(String url,String folderName) throws IOException, URISyntaxException, AWTException {
// 打开浏览器
Desktop.getDesktop().browse(new URI(url));
Robot robot = new Robot();
// 最大化浏览器
robot.keyRelease(KeyEvent.VK_F11);
int width = Toolkit.getDefaultToolkit().getScreenSize().width;
int height = Toolkit.getDefaultToolkit().getScreenSize().height;
// 延迟2S截取屏幕
robot.delay(2000);
// 截取屏幕
Image image = robot.createScreenCapture(new Rectangle(width, height));
// 保存图片
String fileName = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
ImageIO.write((RenderedImage) image, "jpg", new File(folderName+File.separator+fileName+".jpg"));
}
/**
* 判断图片保存目录是否存在。<br>
* 不存在则创建。
*/
private void checkFolder(String folderName) {
File dir = new File(folderName);
if (!dir.exists() || !dir.isDirectory()) {
dir.mkdirs();
}
}
/**
* @param args
*/
public static void main(String[] args) {
String folderName = "images";
CaptureBrower cb = new CaptureBrower();
cb.checkFolder(folderName);
try {
cb.capture("http://edu.codepub.com/2010/0825/25343.php", folderName);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (AWTException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
分享到:
相关推荐
java 网页截图,实现打开指定url页面,完成截图,并把图片保存到指定路径
有时候你一定在烦恼,如何对一个网页进行完整的截图。现在用java给出了完整的解决方案。是一个实例demo.包含了完整的jar包。
java版本的网页截图实例,可以对某个网页进行截图,截图时可以设置截图区域大小.
java截图指定网页保存图片;
java调用phantomJs进行网页截图源码,有需要的朋友自行下载
Java实现网页截图技术
精品必须10分啊,里面包含了java项目源代码和所需jar包,使用了DJNativeSwing组件技术实现。
NULL 博文链接:https://happywaterlife.iteye.com/blog/1884245
java实现后台打开网页存为截图 原理很简单
java实现网页截图含DJNativeSwing组件JAR包java实现网页截图含DJNativeSwing组件JAR包
网页截图工具,采用 Java Applet 实现,从网上辛苦找到的
优势:可滚动截全屏,截窗口,自由选取截图范围,同时可保存为多种图片格式
对url网页进行截屏,生成图片,保存到本地磁盘中,绝对的JAVA代码哦
Java跟进URL生成网页快照图片,包含了3个jar及2个java文件. 缺点是不能生成flash的快照,比如不能抓优酷视频的截图. 不过Java网页快照基本上还是够用了.
基于jquery(imgareaselect)的网页截图插件,完整项目。可在eclipse中直接运行