在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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

html通过canvas转成base64的方法