js擷取html元素生成圖片
阿新 • • 發佈:2019-01-26
使用html2canvas將html元素擷取到canvas顯示,再由canvas轉換為圖片。注意:要擷取的元素裡面不能使用跨域名的圖片連結,否則會汙染canvas。
html2canvas的github連結:https://github.com/niklasvh/html2canvas
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.my-div {
background-color: antiquewhite;
}
</style>
<script type="application/javascript" src="html2canvas.js"></script>
</head>
<body>
<div class="my-div">
this is source
<img src="girls%20day.jpg"/>
</div>
<div class="content" >
<span>next node is a img tag</span>
<img id="img"/>
</div>
<script>
//要轉換為圖片的dom物件
var element = document.querySelector('.my-div');
//要顯示圖片的img標籤
var image = document.querySelector('#img');
//呼叫html2image方法
html2image(element,image);
/**
* create by lrj
* @param source 要轉換為圖片的dom物件
* @param image 要顯示圖片的img標籤
*/
function html2image(source,image) {
html2canvas(source).then(function(canvas) {
var imageData = canvas.toDataURL(1);
image.src = imageData;
});
}
</script>
</body>
</html>