html2canvas使用时遇到的一些问题 (html2canvas": "^1.0.0-rc.1")

生成的图片模糊,参考网上的处理图片模糊方法(scale放大2倍)结果发现生成的图片只显示了部分dom; 

 1 let _canvas = document.getElementById("poster"),//需要截图的包裹的(原生的)DOM 对象
 2           width = _canvas.clientWidth,//shareContent.offsetWidth; //获取dom 宽度
 3           height = _canvas.clientHeight,//shareContent.offsetHeight; //获取dom 高度
 4           canvas = document.createElement("canvas"), //创建一个canvas节点
 5           scale = 2; //定义任意放大倍数 支持小数   (将canvas放大2倍
 6       canvas.width = width * scale; //定义canvas 宽度 * 缩放
 7       canvas.height = height * scale; //定义canvas高度 *缩放
 8       canvas.style.width = _canvas.clientWidth * scale + "px";
 9       canvas.style.height = _canvas.clientHeight * scale + "px";
10       canvas.getContext("2d").scale(scale, scale); //获取context,设置scale
11       let opts = {
12           scale: 1, // 添加的scale 参数(将导出的图片放大比例设为1)
13           canvas: canvas, //自定义 canvas
14           logging: false, //日志开关,便于查看html2canvas的内部执行流程
15           width: width, //dom 原始宽度
16           height: height,
17           useCORS: true // 【重要】开启跨域配置
18       };
19 
20       html2canvas(document.getElementById("poster"), opts).then((canvas) => {
21         this.img = canvas.toDataURL('image/jpeg', 1);
22       });

参考 https://github.com/niklasvh/html2canvas/issues/2227#issuecomment-627293784

 

posted on 2020-10-19 16:29  wxx17513  阅读(140)  评论(0编辑  收藏  举报