网上找了好多种方法都不能完美的将div生成图片,要么是太模糊,要么是尺寸不对,最后得知,只需用最新的html2canvas.min.js文件就行了,真是踏破铁鞋无觅处,得来全不费工夫。
1:不要使用背景图片,背景图片放大图片会模糊,需要改成使用img
2:请下载最新版本html2canvas 官方链接
html
<div ref="preImg" class="preImg" >
<view class="img-hjzs" @click="openPreImg3(idx)">
<img class="altImg" src="" alt="">
</div>
js
openPreImg3(i) {
html2canvas(this.$refs.preImg[i]).then((canvas) => {
let url = canvas.toDataURL("image/jpeg", 1.0) // 最终生成图片的 url
})
},