首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

兑现页面截图

2012-09-08 
实现页面截图要求是 比如 页面之中的标签div内容 生成一张图片。生成的图片和整个页面那部分显示的一样。

实现页面截图
要求是 比如 页面之中的标签<div>内容 生成一张图片。生成的图片和整个页面那部分显示的一样。上网查过用html2canvas类库可以做得到,但是网上资料很少,官网看不太懂,哪位大神研究过,来个java实例代码,指导下小弟。如果不用这个和flash,请指教用何种方式也可以实现(java实现)?谢谢了

[解决办法]
之前的一个打开某站点,并截图的例子,可能与楼主的需求差不多。粘出来供参考,楼主可适当修改。

Java code
import java.awt.Desktop;import java.awt.Dimension;import java.awt.Graphics;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.BufferedImage;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.net.URL;import javax.imageio.ImageIO;public class Test {    public static void main(String[] args) throws Exception {        Desktop.getDesktop().browse(new URL("http://www.baidu.com").toURI());//打开百度首页           Robot robot = new Robot();                robot.delay(10000);              Dimension d = new Dimension(Toolkit.getDefaultToolkit().getScreenSize());                int width = (int) d.getWidth();                int height = (int) d.getHeight();            robot.keyRelease(KeyEvent.VK_F11);                robot.delay(2000);                Image image = robot.createScreenCapture(new Rectangle(0, 0, width,height));                BufferedImage bi = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);                Graphics g = bi.createGraphics();               g.drawImage(image, 0, 0, width, height, null);        ImageIO.write(bi, "jpg", new File("d://baidu.jpg"));//保存图片     }}
[解决办法]
页面中引用jquery.js和html2canvas.js
执行javascript脚本: $('div').html2canvas();

热点排行