使⽤html2canvas实现将html内容写⼊到canvas中⽣成图
⽚
之前我们简单的了解了canvas的基本⽤法,这⾥我们来了解下如何将html内容写⼊到canvas中⽣成图⽚,这⾥我使⽤到了html2canvas插件,这个插件是基于canvas实现的
⼀:下载html2canvas插件
1:直接下载html2canvas插件
直接点击html2canvas.min.js,然后直接ctrl+s进⾏保存即可
2:使⽤npm进⾏下载
npm install html2canvas
⼆:html2canvas使⽤介绍
在html2canvas中主要使⽤两种⽅法
1:将html内容写⼊到canvas中
html2canvas(element,options).then((canvas) =>{})
参数说明:
element:需要将html内容写⼊canvas的jQuery对象
options:配置信息
常⽤的配置基本信息:
scale:缩放⽐例,默认为1
allowTaint:是否允许跨域图像污染画布,默认为false
useCORS:是否尝试使⽤CORS从服务器加载图像,默认为false
width:canvas画布的宽度,默认为jQuery对象的宽度
height:canvas画布的⾼度,默认为jQuery对象的⾼度
backgroundColor:/画布的背景⾊,默认为透明(#fff),参数可以为#表⽰的颜⾊,也可以使⽤rgba
2:将canvas画布信息转化为base64格式图⽚
如果你的html内容中有指定的内容不写⼊到canvas中的话,你可以给标签添加如下属性
data-html2canvas-ignore="true"
三:简单实例
1:引⼊html2canvas
<script src="js/html2canvas.min.js"></script>
或者使⽤import引⼊html2canvas
import html2canvas from 'html2canvas';
2:需要转化的的html内容
<div class="capture">
<img src="./wj.jpg" alt="">
<div>
<span >这是⽂字⽂字</span>
<span data-html2canvas-ignore="true">不写⼊canvas</span>
</div>
</div>
3:将html内容写⼊canvas并转化为base64图⽚
ElementsByClassName("capture")[0], {
scale: 2,//缩放⽐例,默认为1
allowTaint: false,//是否允许跨域图像污染画布
useCORS: true,//是否尝试使⽤CORS从服务器加载图像
width: '500',//画布的宽度
height: '500',//画布的⾼度
backgroundColor: '#000000',//画布的背景⾊,默认为透明
}).then((canvas) => {
//将canvas转为base64格式
jquery在线图片var imgUri = DataURL("image/png");
});
这⾥注意jQuery对象是do
这⾥注意jQuery对象是ElementsByClassName("capture")[0]⽽不是
根据如上就可以实现将html内容写⼊canvas并转化为base64图⽚,这时候我们就可以将base64内容传到服务端,服务端可以将图⽚进⾏保存起来
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论