html2canvas 保存网页截图 图片不显示

我的未来我决定 提交于 2019-12-05 22:08:45

问题描述

两张图片,一张是用户上传的图片,另一张是模板图,中间是透明的,可以制作相框,并保存。使用html2canvas对两个img标签进行截图。在写demo的时候html2canvas没有报错但是所截的是空白,若换成文字就可以。

原因分析

找了半天才知道,如果截图部分包含图片的话,程序必须放在服务器下面进行,不然的话就是空图片。

##代码实例

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<script src="js/jquery.js"></script>
	<script src="js/html2canvas.js"></script>
	<script src="js/canvas2image.js"></script>
</head>
<style type="text/css">
	img{
		width: 500px;
		height: 300px;
		position: fixed;
	}
	#div1{
		height: 500px;
		width: 100%;
	}
	#div2{
		position: fixed;
		bottom: 0;
		background: red;
	}
</style>
<body>
	<div id="div1">
		<img id="img1" src="img/01.jpg">
		<img id="img2" src="img/02.jpg" style="width:300px">
	</div>
	<div id="div2"></div>
</body>
<script type="text/javascript">
	html2canvas($('#div1'), {
	   onrendered: function(canvas) {
	     var oImgPNG = Canvas2Image.saveAsPNG(canvas, true); 
	     $('#div1').hide();
	     $('#div2').html(oImgPNG);
	  },
	  width: 500,
	  height: 500
	});
</script>
</html>

效果展示

  • 没有服务器谷歌浏览器下

没有服务器谷歌浏览器下

  • 没有服务器火狐浏览器下

没有服务器火狐浏览器下

详细信息请戳:http://my.oschina.net/xuwang1993/blog/647282

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!