html div转换为图片

首先两部分js代码要分开,不能在一起加载。

第一部分:
html2canva 需要页面或者ajax全部完成以后再进行一次

<script src="/static/js/html2canvas.min.js"></script>
<script src="/static/js/base64.js"></script>
<script src="/static/js/canvas2image.js"></script>
var canvass = ""
html2canva = function () {
            html2canvas(ahaibao, {
                allowTaint: false, //允许加载跨域的图片
                taintTest: true, //在渲染前测试图片(没整明白有啥用)
                useCORS: true, //使用跨域(当allowTaint为true时这段代码没什么用,下面解释)
                onrendered: function (canvas) {
                    //添加属性
                    canvas.setAttribute('id', 'thecanvas');
                    //读取属性值          
                    canvass = canvas    
                    // var value= canvas.getAttribute('id');
                    //document.getElementById('objcanvas').innerHTML = '';
                    //document.getElementById('objcanvas').appendChild(canvas);
                    objcanvas.appendChild(canvas);
                    console.log(objcanvas)
                }
            });
        }

以上为将div转换为canvas,下面需要获取canvas的src属性赋值给img

第二部分:

 saveimg = function () {
            //var oCanvas = document.getElementById("thecanvas");
            document.getElementsByClassName("contai")[0].style.opacity = "0.2"
            document.getElementsByClassName("contai")[0].style.zIndex = 88
            document.getElementById("images").style.display = "block"            
            var oCanvas = canvass;
            /*自动保存为png*/
            // 获取图片资源
            var img_data1 = Canvas2Image.saveAsPNG(oCanvas, true).getAttribute('src');
            var img = new Image();
            img.src = img_data1
            img.className = "newimgclass"
            $(".newimgclass").remove()
            document.getElementById("images").appendChild(img)
            console.log(objcanvas.getElementsByTagName("img")[0])


            return//或者以下代码进行保存择其一即可


            Canvas2Image.saveAsPNG(oCanvas, true).setAttribute("crossOrigin", 'Anonymous')
            saveFile(img_data1, 'richer.png');
            /*下面的为原生的保存,不带格式名*/
            // 这将会提示用户保存PNG图片
            // Canvas2Image.saveAsPNG(oCanvas);
            // saveFile(img_data1, 'richer.png');
        }

          // 保存文件函数
        var saveFile = function (data, filename) {
            var save_link = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');
            save_link.href = data;
            save_link.download = filename;

            var event = document.createEvent('MouseEvents');
            event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
            save_link.dispatchEvent(event);
        };
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值