html元素转canvas并一键生成png图片(支持img图片元素)【原创

来源:https://www.sucaihuo.com/js/1946.html 2017-05-16 19:30浏览(15383) 收藏

这是一个有趣的功能,可以将html页面任意元素转换成png图片,并可以一键保存下载,支持指定元素里包含img图片元素,可以指定生成的png的名称。
html元素转canvas并一键生成png图片(支持img图片元素)
分类:html/css > 图形 难易:初级
查看演示 下载资源 下载积分: 90 积分

HTML

首先引入html2canvas.min.js、canvas2image.js和base64.js插件。

<!-- html2canvas将Dom节点在Canvas里边画出来 -->
<script src="js/html2canvas.min.js"></script>

<!-- 将canvas图片保存成图片 -->
<script src="js/canvas2image.js"></script>
<script src="js/base64.js"></script>

然后在<body>里设置好需要转换成canvas的元素,例如:id="content"。

<div id="content" style="width:188px;height:300px;border:1px solid #22b4f6;float:left;text-align:center;">
	<p><img width="50" height="50" src="images/pic.jpg" alt="头像"></p>
    <p>昵称:richer</p>
    <p>专业:前端 + 后端</p>
    <p>语言:html、php、mysql</p>
    <p>脚本:javascript</p>
    <p><input type="text" class="tx" placeholder="微信公众号开发"></p>
    <p><input type="button" class="bt" value="网站微站开发"></p>
</div>

JAVASCRIPT

通过给按钮绑定对应的事件来触发canvas的生成动作。

/*生成canvas图形*/

// 获取按钮id
var btnSave = document.getElementById("btnSave");
// 获取内容id
var content = document.getElementById("content");
// 进行canvas生成
btnSave.onclick = function(){
	html2canvas(content, {
        onrendered: function(canvas) {
        	//添加属性
        	canvas.setAttribute('id','thecanvas');
			//读取属性值
			// var value= canvas.getAttribute('id');
            document.getElementById('images').innerHTML = '';
            document.getElementById('images').appendChild(canvas);
        }
	});
}

说明事项:

1、html2canvas.min.js和canvas2image.js均为目前最新版本
2、支持页面的img元素,但不支持跨域图片
3、不能在浏览器插件中使用
4、部分浏览器上不支持SVG图片
5、不支持Flash
声明:本文为原创文章,如需转载,请注明来源sucaihuo.com并保留原文链接:https://www.sucaihuo.com/js/1946.html
评论0
头像

系统已开启自动识别垃圾评论机制,识别到的自动封号,下载出错或者资源有问题请联系全栈客服QQ 1915635791

1 2