html2canvas生成放大图片

https://github.com/lingdulvlv/html2canvas.git

var width = $('#imageHead')[0].offsetWidth; //dom宽
var height = $('#imageHead')[0].offsetHeight; //dom高
// 解决图片模糊
var scale = 2;//放大倍数
var canvas = document.createElement('canvas');
canvas.width = width * 2;
canvas.height = height * 2;
canvas.style.width = width + 'px';
canvas.style.height = height + 'px';
var context = canvas.getContext('2d');
context.scale(scale, scale);
//设置context位置,值为相对于视窗的偏移量负值,让图片复位(解决偏移的重点)
var rect = $('#imageHead').get(0).getBoundingClientRect();//获取元素相对于视察的偏移量
context.translate(-rect.left, -rect.top);
	context.fillStyle = "red";  
var opts = {
	canvas: canvas,
	backgroundColor: null,
	useCORS: true, // 【重要】开启跨域配置
	scrollY: 0, // 纵向偏移量 写死0 可以避免滚动造成偶尔偏移的现象
};
html2canvas($("#imageHead")[0], opts).then(canvas => {
	// 使用toDataURL方法将图像转换被base64编码的URL字符串
	var src = canvas.toDataURL();
	var newImg = document.createElement("img");
	newImg.src = src;
	imagesAjax(src)
});

 

 

html2canvas是一个JavaScript库,它可以在浏览器端或app端直接对整个或部分页面进行截屏,并将页面渲染成一个canvas图片。通过读取DOM并将不同的样式应用到这些元素上实现截图功能。 在uniapp中使用html2canvas生成图片的步骤如下: 1. 监听截图按钮的点击事件。 2. 调用html2canvas函数,并传入要截图的元素作为参数,可以使用document.getElementById()来获取元素。 3. 在html2canvas的配置对象中,可以设置一些属性,比如背景颜色、是否支持图片跨域、放大倍数、截图的高度和宽度等。 4. 使用then()方法来处理生成canvas对象。 5. 使用canvas对象的toDataURL()方法将canvas转换为base64格式的图片数据。 6. 使用生成图片数据,可以进行一些操作,比如保存到本地或者跳转到其他页面进行展示。 通过以上步骤,你可以使用html2canvas在uniapp中生成图片[1]。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [小程序 uniapp中webview内嵌H5页面 html2canvas截图 base64的图片保存到手机相册](https://blog.csdn.net/M__O__M/article/details/126985611)[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: 50%"] - *2* [html2canvasHTML内容写入Canvas生成图片 uniapp](https://download.csdn.net/download/weixin_42085648/13704954)[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: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值