工作中遇到一个需求:在页面中设置一个提交页面反馈的按钮,用户点击该按钮时在弹出的dialog中可以填写反馈内容,填写完毕点击确定关闭弹窗时捕获当前浏览器窗口中的内容生成图片,用于记录页面中的当前状态,后台将用户填写的内容及生成的图片存入数据库供运维人员查看。经过查阅资料大概的思路分为一下几种:
1、使用java中的Robot类,实现过程如下:
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("google.jpg&#