html2canvas库可以实现对div进行截图,浏览器本身是不支持截图功能的,html2canvas通过遍历目标盒模型重新在canvas绘制实现对div截图
使用方式:
html2canvas($("#print-div"),{
onrendered:function(canvas){
}
})
调用html2canvas传入一个dom节点和对象,在截图完成之后onrendered函数会会被回调,canvas就是截图完成的对象了,接着可以调用getDataURL 来保存图像文件,不过我这里需要对图像进行二次处理,通过调用getImageData来实现,具体代码如下:
var ctx1 = canvas.getContext('2d');
var width=canvas.width
var height=canvas.height
var data=ctx1.getImageData(0,0,width,height)
getImageData可以抓取canvas数据到一个rgba格式的数组