① jquery库(看个人需要): ②dom-to-image.js: https://github.com/tsayen/dom-to-image ③FileSaver.js:https://github.com/eligrey/FileSaver.js
方法一
<html
>
<head
>
<script type
="text/javascript" src
="C:/Users/liushuofu/Desktop/jquery-1.6.4.min.js"></script
>
<script type
="text/javascript" src
="C:/Users/liushuofu/Desktop/dom-to-image.js"></script
>
<script type
="text/javascript" src
="C:/Users/liushuofu/Desktop/FileSaver.js"></script
>
<script type
="text/javascript">
$(function(){
$("#btn").click(function(){
domtoimage
.toBlob(document
.getElementById('table'))
.then(function (blob
) {
console
.log(blob
)
window
.saveAs(blob
, 'my-node.png');
});
})
})
</script
>
</head
>
<body
>
<input type
="button" id
="btn" value
="do it" />
<h4
>两行三列:
</h4
>
<table id
="table" border
="1" style
="width:200px;border-collapse: collapse;border:1px solid black;">
<tr style
="background:green;">
<td rowspan
="3">200</td
>
<td
>200</td
>
<td
>300</td
>
</tr
>
<tr style
="background:green;">
<td rowspan
="2">500</td
>
<td
>600</td
>
</tr
>
<tr style
="background:green;">
<td
>600</td
>
</tr
>
<tr style
="background:skyblue;">
<td rowspan
="3">100</td
>
<td
>200</td
>
<td
>300</td
>
</tr
>
<tr style
="background:skyblue;">
<td
>500</td
>
<td
>600</td
>
</tr
>
<tr style
="background:skyblue;">
<td
>600</td
>
<td
>600</td
>
</tr
>
</table
>
</body
>
</html
>
方法二、使用canvas生成
<!DOCTYPE html
>
<html
>
<head
>
<meta charset
="UTF-8">
<title
>htmltopic
</title
>
<script type
="text/javascript" src
="/h5/js/jquery-1.11.0.min.js"></script
>
<script type
="text/javascript" src
="js/html2canvas.min.js"></script
>
<style
>
* {
margin
: 0;
}
.test
{
width
: 100px
;
height
: 100px
;
text
-align
: center
;
line
-height
: 100px
;
background
-color
: #
87CEEB
;
display
: inline
-block
;
vertical
-align
: top
;
}
canvas
{
margin
-right
: 5px
;
}
.down
{
float
: left
;
margin
: 40px
10px
;
}
.down2
{
float
: left
;
margin
: 40px
30px
;
}
</style
>
</head
>
<body
>
<div
class="test">测试
</div
>
<div
><a
class="down" href
="" download
="downImg">下载
</a
>
</div
>
<div
><a
class="down2" href
="" download
="downImg">下载
2</a
></div
>
<script
>
var canvas2
= document
.createElement("canvas");
let
_canvas
= document
.querySelector('div');
var w
= parseInt(window
.getComputedStyle(_canvas
).width
);
var h
= parseInt(window
.getComputedStyle(_canvas
).height
);
canvas2
.width
= w
* 2;
canvas2
.height
= h
* 2;
canvas2
.style
.width
= w
+ "px";
canvas2
.style
.height
= h
+ "px";
var context
= canvas2
.getContext("2d");
context
.scale(2, 2);
html2canvas(document
.querySelector('div'), { canvas
: canvas2
}).then(function(canvas
) {
document
.querySelector(".down").setAttribute('href', canvas
.toDataURL());
});
</script
>
<script language
="javascript">
$(function () {
$(".down2").click(function () {
html2canvas($(".test")).then(function (canvas
) {
var imgUri
= canvas
.toDataURL("image/png").replace("image/png", "image/octet-stream");
window
.location
.href
= imgUri
;
});
});
});
</script
>
</body
>
</html
>
转载请注明原文地址:https://ipadbbs.8miu.com/read-22808.html