在H5的营销活动中,经常生成一张图片让用户分享或者保存,这时候处理方案有两种。
一种是让后端生成图片,返回一个图片地址给前端展示
一种是前端自主合并生成图片展示,文中主要说明这个方案
demo
<!--生成后存放的IMG--> <img src="" id="saveImages" alt=""> <a href="javascript:;" class="create">生成海报</a> <!--用来生成的HTML--> <div id="saveContent" class="saveContent"> <img src=""> <div class="name pa"></div> <div class="msg pa"></div> </div> <style> #saveContent{width: 7.5rem; height: 12.27rem; position: relative;} #saveContent img{ width: 100%;} #saveContent .name{color: #7c5234;font-size: .3rem;top: 6.55rem;line-height: .6rem;text-align: center;left: 0;right: 0;} #saveContent .msg{color: #7c5234;font-size: .24rem;top: 7.35rem;text-align: center;left: 0;right: 0;} #saveContent .msg span{ color: #cf5350; font-size: .36rem;} </style>
<!--使用最新版本的html2canvas--> <!--官网https://html2canvas.hertzen.com/--> <script src="//html2canvas.hertzen.com/dist/html2canvas.min.js"></script> <script src="//static.leiting.com/lib/jquery-1.9.0.min.js"></script> <script> //生成 $(function(){ var isCreate=false; $('a.create').on('click',function(){ isCreate=true; $('#saveContent img').attr('src','//activity.leiting.com/wd/201904/data/images/pop/1.jpg'); $('#saveContent .name').html('aaaaaa'); $('#saveContent .msg').html('bbbbbbbbbb'); html2canvas(document.getElementById('saveContent'), { onrendered: function(ca) { $('#saveImages').attr('src',ca.toDataURL('image/jpeg')); } }); }) }) </script>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。