vue---canvas实现二维码和图片合成的海报

应项目需求,要一张宣传页面上加一个太阳码合成一张宣传海报,用户用微信能够识别进入微信小程序。css

 

1. npm安装html

npm install html2canvas --save   //html转canvas前端

2.页面引入npm

import html2canvas from 'html2canvas';canvas

3.html:小程序

两张图片的具体定位,可经过css控制,这边代码忽略。后端

qrcode.png为太阳码图片,是后端直接base64返回给前端,前端直接展现(src = 'data:image/png;base64,'+ res.data),此代码忽略微信小程序

 

<template>
        <div>
            <div ref="box">
	        <img :src='require("./images/bg.png")' alt="">
	         <img :src='require("./images/qrcode.png")' alt="">
            </div>

        <!--生成的合成图片-->微信

<img :src="imgUrl" alt="">
       </div>
</template>

 4.jsui

<script> import html2canvas from 'html2canvas'; export default { data() { return{ imgUrl:'' } }, methods:{ draw(){ var that = this; html2canvas(that.$refs.box).then(function(canvas) {   that.imgUrl = canvas.toDataURL()//将canvas转为base64图片(eg. data:image/png;base64,ijskjlkj)   }); }  }, mounted(){ this.draw() } }; </script>
相关文章
相关标签/搜索