• 在vue中使用html2canvas生成图片


    首先,在vue中引入html2canvas,执行命令   

    npm install --save html2canvas

    然后在需要生成图片的页面中引入

    import html2canvas from 'html2canvas';
     
    开始做的是将生成图片前的代码页面展示出来,但是后面因需求改变,要不展示生成的代码,直接展示生成后的图片
    虽说是不展示,但是还是要有,不能隐藏(display:none;或者opacity:0),不然绘制出来的就是一片空白区域,我们可以用下面的方法

    1.将需要绘制的div fixed定位,注意要定位在 top:0, left:0,保证内容区能在可是区域内容,

    2.然后利用z-index来隐藏,这样需要上层有一个遮罩层,需要带背景的层来遮罩住下面的内容

    <div class="xibao_wrapper">
        <div class="img_container" ref="imgContainer">
            <div class="img_content">
                <p id="title_text">
                    热烈祝贺{{formData.countyareaText}}{{formData.branchpostofficeText}}
                </p>
                <p id="subtitle_text" class="fontFamily">
                获得
                    <span>晒单</span>
                </p>
                <p class="img_content_text fontFamily">
                    <label>{{date}}</label>
                    <label>{{orderNum}}</label>
                </p>
                <p class="img_content_text fontFamily">
                    <label>营销人</label>
                    <label>
                    <span v-for="saler in salers" :key="saler.name">{{saler.name}}</span>
                    </label>
                </p>
                <p class="img_content_text fontFamily">
                    <label>套餐</label>
                    <label>{{formData.packageidText}}</label>
                </p>
            </div>
        </div>
    </div>

    css样式如下:

    .xibao_wrapper {
            width: 100%;
            height: 100%;
            position: fixed;
            left: 0;
            top: 0;
            z-index: -1;
     }
                

    点击按钮,执行转换成图片的代码

    html2canvas(this.$refs.imgContainer, {
        // 转换为图片
        useCORS: true // 解决资源跨域问题
    }).then(canvas = > {
        console.log(canvas, 'canvas');
        let dataURL = canvas.toDataURL('image/png');
        this.showImg = true;
        this.imgUrl = dataURL;
    });
  • 相关阅读:
    Homebrew 更改国内阿里源
    Java数组以及内存分配
    Django-Scrapy生成后端json接口
    MySQL必知必会(1-12章)
    招聘网站爬虫模板
    ubuntu之jupyter notebook配置
    服务器基本配置(ubuntu)
    Typora+PicGo+码云Gitee搭建本地博客环境
    redis缓存雪崩,穿透,击穿。整理篇
    鼠标修复升级记录(下)
  • 原文地址:https://www.cnblogs.com/florazeng/p/13447130.html
Copyright © 2020-2023  润新知