在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>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持w3xue。