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