web html2canvas生成图片下载

<script type="text/javascript" src="{DT_MOB}static/js/html2canvas.js"></script>
<script type="text/javascript" src="{DT_MOB}static/js/html2canvas.min.js"></script>

<div class="pop-main2" id="cardimg">
	<div>
		<div class="d-flex cardtop">
			<img src="{$thumb}" width="77" height="77" />
			<div class="cardtitle1">
				<div>{$title}</div>
				<span class="corange">¥{$price}</span>
			</div>
		</div>
		<p class="cardtitle">商品规格</p>
		<span class="cardspan">{$specs}</span>
		<p class="cardtitle">商品卖点</p>
		<span class="cardspan" >{$advantage}</span>
		<div class="cardbtn" onclick="takeScreenshot()">保存图片</div>
	</div>
</div>
	function takeScreenshot() {
		html2canvas(document.querySelector("#cardimg"), {
			useCORS: true,
		}).then(canvas => {
			convertCanvasToImg(canvas)
		})
	}
	function convertCanvasToImg(canvas) {
		// canvas转base64 转 blob
		var myBlob = dataURLtoBlob(canvas.toDataURL('img/png', 0.92))
		// blob转URL对象
		myUrl = URL.createObjectURL(myBlob)
		// 创建a标签,下载图片
		downImg(myUrl)
	}
	function dataURLtoBlob(dataurl) {
		var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
			bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
		while (n--) {
			u8arr[n] = bstr.charCodeAt(n);
		}
		return new Blob([u8arr], { type: mime });
	}
	function downImg(url) {
		// 创建a标签 并设置其相关属性,最后触发其点击事件
		let a = document.createElement("a")
		let clickEvent = document.createEvent("MouseEvents");
		a.setAttribute("href", url)
		a.setAttribute("download", 'codeImg')
		a.setAttribute("target", '_blank')
		clickEvent.initEvent('click', true, true)
		a.dispatchEvent(clickEvent);
		$(".pop-main2").css('display', 'none');
		$("#z-show").css('display', 'none');
	}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值