html2canvas 生成海报,屏幕截图(图片跨域)

html2canvas.js官网地址:http://html2canvas.hertzen.com/
主要js:

ios 13 对v1.0.0-rc.7 版本不支持,会空白,建议用户v1.0.0-rc.4
https://github.com/niklasvh/html2canvas/releases/tag/v1.0.0-rc.4
在这里插入图片描述

$(".click-begin").click(function() {
				$("#loading").show();//过渡弹层显示
				html2canvas(document.querySelector(".card"), {
					height: $(".card").height(),//需要生成海报div的高
					width: $(".card").width(),//需要生成海报div的宽
					//设置宽高可避免生成图片底部有白线
					scale: 6,//清晰度设置
				}).then(canvas => {
					document.body.appendChild(canvas)
					let oImg = new Image();
					oImg.src = canvas.toDataURL("image/png"); // 导出图片
					document.getElementById("myImage").appendChild(oImg); //div中插入图片
				});
				setTimeout(() => {
					$("#loading").hide();//过渡弹层隐藏
					$("#poster").show();//弹层显示
				}, 800)

})
//关闭后统一清除
			$(".off").click(function() {
				$("canvas").remove();
				$("#myImage  img").remove();
				$("#poster").hide();
			})

图片跨域问题将图片转为base64

 imageUrlToBase64(img,elId) { //头像转Base64解决跨域问题
       var image = new Image();
       image.setAttribute('crossOrigin', 'anonymous');
       var imageUrl = img;
       image.src = imageUrl;
       image.onload = function(){
           this.getImage(image,elId);
       }
                },
getImage(image,elId) {
    var canvas = document.createElement('canvas');
    canvas.width = image.width;
    canvas.height = image.height;
    var context = canvas.getContext('2d');
    context.drawImage(image, 0, 0, image.width, image.height);
    var quality = 0.8;
    var dataURL = canvas.toDataURL('image/jpeg', quality);
    /* 添加图片 */
    $(elId).attr("src",dataURL)
},

引用方法 :this.imageUrlToBase64(‘图片地址’,‘图片类名’);

html2canvas是一个JavaScript库,用于在网页上将HTML元素转换为Canvas图像。它可以用于生成海报,将网页内容转换为图像,并以图片的形式进行保存或展示。使用html2canvas,你可以通过将DOM元素传递给html2canvas函数来生成海报。首先,你需要在项目中安装html2canvas库,你可以使用npm或yarn进行安装。在Vue项目中,你可以使用以下命令安装html2canvas:npm install html2canvas。然后,你可以将html2canvas导入到项目中,并使用其提供的功能来生成海报。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [qrcodejs2+html2canvas 生成二维码和海报](https://download.csdn.net/download/qq_39161501/36761918)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [html2canvas海报生成](https://blog.csdn.net/qq_37403179/article/details/116042717)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [html2canvas生成海报的各种问题](https://blog.csdn.net/qq_41913971/article/details/107353958)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值