将代码转为图片

	<div id="card">
                <div >
                    长按识别图中二维码 <br>
                    参与活动
              </div>
        </div>

id 里面的内容是你要打印的内容,样式自己去修改

以下的代码,是显示打印的弹框层的效果

 <div :style="{display:showimg?'block':'none'}" @click="showimg=false"
            style="position: absolute;width: 100vw;height: 100vh;background:rgba(0,0,0,0.47);top: 0;left: 0;z-index: 2;">
            <div style="position:absolute;padding:30px;box-sizing: border-box;top:0;left:0;">
                <div class="img"></div>
            </div>
        </div>

设置按钮,点击生成

 <div class="btns" @click="generateItem">
                生成海报
            </div>

vue写的代码,判断显示,
函数方法

 generateItem() {
                    let that = this
                    //创建一个新的canvas
                    var canvas2 = document.createElement("canvas");
                    //获取宽高
                    var w = $('#card').width();
                    var h = $('#card').height();
                    canvas2.width = w * 2;
                    canvas2.height = h * 2;
                    canvas2.style.width = w + "px";
                    canvas2.style.height = h + "px";
                    var context = canvas2.getContext("2d");
                    context.scale(2, 2);
                    html2canvas(document.querySelector('#card'), {
                        useCORS: true,
                        foreignObjectRendering: true,
                        allowTaint: true,
                        scale: 2,
                        width: w,
                        height: h,
                        canvas: canvas2,
                    }).then(function (canvas) {
                    //将图片的地址转为base64
                        var dataUrl = canvas.toDataURL();
                        将这个图片的地址,给到页面上
                        var newImg = document.createElement("img");
                        newImg.src = dataUrl;
                        newImg.style.width = w / 2;
                        newImg.style.height = 480 + 'px';
                        $('.img').html(newImg)
                        that.showimg = true;
                    });
                },
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值