当前位置: 代码迷 >> Java Web开发 >> 兑现页面截图
  详细解决方案

兑现页面截图

热度:8482   发布时间:2013-02-25 21:12:37.0
实现页面截图
要求是 比如 页面之中的标签<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')2canvas();
  相关解决方案