// 保存图片
saveImage(id) {
    html2canvas(document.getElementById(id)).then(canvas => {
        let dataURL = canvas.toDataURL("image/jpeg");
        common.downloadIamge(dataURL, id);
    });
},

下载方法: 

downloadIamge(imgsrc, name) {//下载图片地址和图片名
    var image = new Image();
    // 解决跨域 Canvas 污染问题
    image.setAttribute("crossOrigin", "anonymous");
    image.onload = function() {
      var canvas = document.createElement("canvas");
      canvas.width = image.width;
      canvas.height = image.height;
      var context = canvas.getContext("2d");
      context.drawImage(image, 0, 0, image.width, image.height);
      var url = canvas.toDataURL("image/jpeg"); //得到图片的base64编码数据
debugger
      var a = document.createElement("a"); // 生成一个a元素
      var event = new MouseEvent("click"); // 创建一个单击事件
      a.download = name || "photo"; // 设置图片名称
      a.href = url; // 将生成的URL设置为a.href属性
      a.dispatchEvent(event); // 触发a的单击事件
    };
    image.src = imgsrc;
  }

好久之前写的,有次转图片为空白 

最后把html2canvas版本降到1.0.0-rc.0解决的

https://github.com/niklasvh/html2canvas/issues/2224

Logo

前往低代码交流专区

更多推荐