html2canvas的使用方法!

入门

html2canvas的简单调用:

// element是需要截图的元素
html2canvas(element,options);

可用选项(options)

参数名称类型默认值描述
allowTaintbooleanfalse允许跨域
useCORSbooleanfalse貌似与跨域有关,但和allowTaint不能共存
proxystringundefined代理地址
taintTestbooleantrue是否在渲染前测试图片
timeoutnumber0图片加载延迟,默认延迟为0,单位毫秒
loggingbooleanfalse在Console中输出信息
widthnumbernullcanvas的宽度设定
heightnumbernullcanvas的高度设定
backgroundstring#fffcanvas的背景颜色(未指定则为透明)
letterRenderingbooleanfalse在设置了字间距的时候有用

特别的是,html2canvas提供了回调事件--onrendered来渲染canvas:


html2canvas(element,{ 
    onrendered:function(canvas){ 
        // canvas是最终渲染的<canvas>元素
    } 
});


完整参考代码

<script type="text/javascript">
    $(document).ready(function() {
        $(".jietu").on("click", function(event) {
            event.preventDefault();
            html2canvas(document.getElementById('main'), {
                allowTaint: true,
                taintTest: false,
                logging: true,
                height: $("#main").outerHeight(),
                width: $("#main").outerWidth(),
                onrendered: function(canvas) {
                    canvas.id = "mycanvas";
                    const dataUrl = canvas.toDataURL("image/png", 3.0),
                        newImg = document.createElement("img");
                    //document.body.appendChild(canvas);
                    //生成base64图片数据
                    newImg.src = dataUrl;
                    console.log(newImg);
                    // document.body.appendChild(newImg);
                    document.getElementById('tp').appendChild(newImg);
                    var timestamp = Date.parse(new Date());
                  
                    //把截取到的图片替换到a标签的路径下载
                    $("#down1").attr('href', dataUrl);
                    //下载下来的图片名字  
                    $("#down1").attr('download', timestamp + '.png');
                    $('.tishi,.tp-show').fadeIn();
                }
            });
        });

    });
    </script>


相关内容

发表评论

验证码:
点击我更换图片

最新评论