js使用html2canvas 生成图片然后下载

1:html2canvas官网

首先去官网把这个JS下载下来

<!DOCTYPE html>
<html lang="en">
<head>
   <title>
          
        </title>
        <meta name="renderer" content="webkit">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
        <meta name="apple-mobile-web-app-status-bar-style" content="black">
        <meta name="apple-mobile-web-app-capable" content="yes">
        <meta name="format-detection" content="telephone=no">
        <link rel="stylesheet" href="{:__STYLE__}css/x-admin.css" media="all">
</head>
<style type="text/css">
    .contanie{
        /*background: pink;*/
        font-size: 16px;
        width: 100%;
    }
    .contanie .fonter_code{
        position: fixed;
        bottom: 0;
        right: 0;
        background: red;
        display: block;
        background: #fff;
        width: 100%;

    }
    .fonter_code button{
        float: right;
    }
    .code_title{
    min-height: 90px;
    background: #ff9f0f5e;
    font-size: 40px;
    width: 100%;
    text-align: center;
    font-weight: 700;
    font-family: monospace;

    }
    .code_title_footer{
        min-height: 90px;
        background: #fff;
        font-size: 20px;
        width: 100%;
        text-align: center;
        display: inline-block;

    }
    .code_conter_qr{
        min-height: 400px;
        background: #fff;
        text-align: center;
        /*padding: 0 30px; */
        margin: 0 50px;
            border-bottom: 1px solid #ffd9229c;
    }
    .code_conter_qr img {
        width: 250px;
        height: 250px;
        display: block;
        margin: 0 auto;
        border: 1px solid #ffd9229c ;
           border-radius: 6px;
    }
    .code_span_title{
        font-weight: bold ;
        font-size: 65px;
        display: block;
            padding: 20px 0;

    }
    .code_title_footer .code_qr_code span{
        font-size: 16px;
        font-weight: bold;

    }
    .code_qr_code img{
        width: 40px;
        display: inline-block;
        padding: 0 5px;
    }
    .code_qr_code{
        line-height: 90px;
    }
</style>
<body>
        <div class="contanie">
             <div class="contet_code" id="upload_code">
                   <div class="code_title">
                           <span style="line-height: 90px;">
                               {$data['bname']} 收钱码
                           </span>
                   </div>
                   <div class="code_conter_qr">
                       <div class="code_span_title">
                            <span>在此扫码付款</span>
                       </div>
                       <img src="{:__UPLOAD__}{$data['img']}">
                   </div>
                    <div class="code_title_footer  ">
                        <div class="code_qr_code">
                            <span>支持付款方式:</span>
                            <img src="{:__UPLOAD__}imgs/zfb.png">
                            <img src="{:__UPLOAD__}imgs/wx.png">
                        </div>

                   </div>
             </div>
             <div class="fonter_code">
                 <button type="button" class="layui-btn layui-btn-normal"  onclick="onsubmint()"> 下载</button>
             </div>
        </div>
         <script src="{:__STYLE__}lib/layui/layui.js" charset="utf-8"></script>
       <script src="{:__STYLE__}js/x-layui.js" charset="utf-8"></script>
       <script src="{:__STYLE__}js/jquery.min.js" charset="utf-8"></script>
       <script src="{:__STYLE__}js/html2canvas.js" charset="utf-8"></script>
        <script type="text/javascript">

            function onsubmint(){
            html2canvas(document.querySelector("#upload_code")).then(canvas => {
                 var pageData = canvas.toDataURL('image/jpeg', 1.0);
                       saveFile(pageData.replace("image/jpeg", "image/octet-stream"),new Date().getTime()+".jpeg");

            });
            var saveFile = function (data, filename) {
                console.log(data);
                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);
            };
         
            }
           

        </script>

</body>
</html>

效果图

 

posted @ 2020-08-13 17:47  落魄的程序员  阅读(873)  评论(0)    收藏  举报