java 使用html2canvas实现屏幕截图
来源:互联网 发布:java常用算法手册豆瓣 编辑:程序博客网 时间:2024/06/12 01:16
知识点参考:
http://www.cnblogs.com/dreammyle/p/4872574.html
案列:
前段使用jsp页面,处理代码为Controller层代码。
js插件:
1、jquery-2.1.4.min.js
2、html2canvas.js
<%@ page language="java" pageEncoding="UTF-8"%><html> <head> <script type="text/javascript" src="../../frame/js/jquery/jquery-2.1.4.min.js"></script> <script type="text/javascript" src="../../frame/js/html2canvas.js"></script></head><body> <input type="button" class="button" value="屏幕截图" id="addPolyline" onclick="snapscreen()"/> <script type="text/javascript"> function snapscreen(){ html2canvas(document.body, { allowTaint: true, taintTest: false, onrendered: function(canvas){ var dataUrl = canvas.toDataURL("image/png"); $.ajax({ url:'http://cmis:8080/cmisplat/snapCapture/snapscreen', type:'POST', data:{ base64ImgData : JSON.stringify(dataUrl) }, success:function(msg){ }, error:function(XMLHttpRequest){ alert( "Error: " + XMLHttpRequest.responseText); } }); } }); } </script></body></html>
Controller层代码:
注意:代码中使用到了sun.misc.BASE64Decoder类,在MyEclipse中会报错,需要进行几步操作:
第一步
第二步:选中Access rules,点击edit
第三步 选择Accessible **
import java.io.File;import java.io.PrintWriter;import java.util.Date;import java.util.HashMap;import java.util.Map;import org.apache.commons.io.FileUtils;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import sun.misc.BASE64Decoder;import com.newsoft.utils.JSONTool;@Controller@RequestMapping("/snapCapture")public class SnapScreenController { @RequestMapping("/snapscreen") public void snapscreen(PrintWriter writer,String base64ImgData, Integer stationno,Integer laneno,Date ccollecttime,String recordid) { Map<String, Object> map = new HashMap<String, Object>(); boolean flag = false; String msg = "截屏失败"; try { //BASE64Decoder会报错,Myeclipse中需要开启对此类的使用 BASE64Decoder d = new BASE64Decoder(); //去掉头部声明 base64ImgData = base64ImgData.substring(base64ImgData.indexOf(",")+1); byte[] bs = d.decodeBuffer(base64ImgData); String snapScreenPath = "F:\\screen.png"; //保存图片到本地 //org.apache.commons.io.FileUtils; FileUtils.writeByteArrayToFile(new File(snapScreenPath), bs); } catch (Exception e) { e.printStackTrace(); flag = false; msg = "截屏失败!失败原因:" + e.getMessage(); } map.put("success", flag); map.put("msg", msg); writer.write(JSONTool.toJson(map)); }}
1 0
- java 使用html2canvas实现屏幕截图
- 使用html2Canvas实现截图功能
- 使用html2canvas实现浏览器截图
- 使用html2canvas实现浏览器截图
- js使用html2canvas实现屏幕截取
- 使用html2canvas实现网页截图,并嵌入到PDF
- java实现屏幕截图
- java实现屏幕截图
- java实现屏幕截图
- 关于Java实现屏幕截图
- js 利用html2canvas实现截图功能
- 使用html2canvas进行屏幕截屏
- 用java语言实现屏幕截图
- java实现区域内屏幕截图示例
- java实现区域内屏幕截图示例
- java实现区域内屏幕截图示例
- Java实现区域内屏幕截图示例
- Java swing实现屏幕截图项目源码
- 安卓RxJava学习第一弹
- 分布式服务框架 Zookeeper -- 管理分布式环境中的数据
- 装饰者模式(decorator)完全解析
- java内存管理,GC,内存泄漏
- HDU 4155 (博弈 记忆化搜索)
- java 使用html2canvas实现屏幕截图
- ffmpeg 在VC2010 中的环境搭建
- Qt + Qcustomplot绘图插件安装和配置
- C++程序设计语言练习 10.2 一个简单的date类
- 交互式Ruby Shell irb
- 文本框只能输入数字
- Maven管理jar
- uva11300 Spreading the Wealth
- 一个STM32F0 的IAP应用问题