mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-09 08:46:43 +08:00
更换贺报下载的方法
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
<!-- <van-button square type="default" :disabled="shareJin" size="large" @click="shareImg" v-no-more-click="1000"> 分享 </van-button> -->
|
||||
<!-- <van-button square type="danger" :disabled="downLoadJin" size="large" @click="downLoadImagesFunc" v-no-more-click="1000"> 下载 </van-button> -->
|
||||
<button class="shareImg" @click="fenxiang()"> 分享 </button>
|
||||
<button class="downLoad" @click="domToImage()"> 下载 </button>
|
||||
<button class="downLoad" @click="downloadFn()"> 下载 </button>
|
||||
</div>
|
||||
<div class="close" @click="close()">
|
||||
<van-icon name="cross" size="38" color="#fff" />
|
||||
@@ -221,6 +221,58 @@ export default {
|
||||
// 调用 captureAndProcessImage 函数
|
||||
captureAndProcessImage();
|
||||
},
|
||||
downloadFn() {
|
||||
const clientWidth = this.$refs.generateImg.offsetWidth;//获取容易的宽高
|
||||
const clientHeight = this.$refs.generateImg.offsetHeight;
|
||||
let canvas = document.createElement("canvas");//创建Canvas对象
|
||||
var scale = 2;//用于渲染的比例。默认为浏览器设备像素比率
|
||||
canvas.width = clientWidth * scale;
|
||||
canvas.height = clientHeight * scale;
|
||||
const ops = {
|
||||
|
||||
width: clientWidth,//画布的宽度
|
||||
height: clientHeight,//画布的高度
|
||||
// 跨域配置
|
||||
useCORS: true, // 使用跨域
|
||||
allowTaint: true, // 允许使用跨域资源
|
||||
tainTest: false,
|
||||
scale: scale,
|
||||
backgroundColor: null,
|
||||
};
|
||||
html2canvas(this.$refs.generateImg, ops).then((canvas) => {
|
||||
// 转成图片,生成图片地址
|
||||
this.imgUrl = canvas.toDataURL("image/png");
|
||||
this.download(this.imgUrl, [canvas.width, canvas.height]);
|
||||
});
|
||||
},
|
||||
download(imgUrl, kh) {
|
||||
this.getUrlBase64(imgUrl, kh).then((base64) => {
|
||||
const link = document.createElement("a");
|
||||
link.href = base64;
|
||||
link.download = `图片.png`;
|
||||
link.click();
|
||||
});
|
||||
},
|
||||
getUrlBase64(url, kh) {
|
||||
return new Promise((resolve) => {
|
||||
let canvas = document.createElement("canvas");
|
||||
const ctx = canvas.getContext("2d");
|
||||
const img = new Image();
|
||||
img.crossOrigin = "Anonymous"; // 允许跨域
|
||||
img.src = url;
|
||||
img.onload = () => {
|
||||
// eslint-disable-next-line prefer-destructuring
|
||||
canvas.height = kh[1];
|
||||
// eslint-disable-next-line prefer-destructuring
|
||||
canvas.width = kh[0];
|
||||
ctx.drawImage(img, 0, 0, kh[0], kh[1]);
|
||||
const dataURL = canvas.toDataURL("image/png");
|
||||
canvas = null;
|
||||
resolve(dataURL);
|
||||
this.$toast('下载成功')
|
||||
};
|
||||
});
|
||||
},
|
||||
close() {
|
||||
this.$emit('child-colse', '1')
|
||||
this.$refs.generateImg.src = '';
|
||||
|
||||
Reference in New Issue
Block a user