html2canvas图片的文字偏移,html2canvas转图片遇到的坑(图片偏移,图片模糊,字体改变)...

本文总结了在使用html2canvas将DOM转为图片时遇到的问题,包括图片模糊、元素偏移以及字体显示不正确等。通过调整canvas尺寸、设置context位置、开启跨域配置以及将字体转换为unicode码,成功解决了这些问题。同时指出 vant 组件的弹窗动画可能引发偏移,并建议使用px单位来确保元素定位准确。
摘要由CSDN通过智能技术生成

最近做了一个分享页面,要求长按保存相册,其中用到了html2canvas,使用比较简单,但是遇到的比较常见的几个坑,来做下总结:

1. 解决图片模糊和偏移

$('.share')是需要转成图片的dom

function share() {

var width = $('.share')[0].offsetWidth; //dom宽

var height = $('.share')[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 = $('.share').get(0).getBoundingClientRect();//获取元素相对于视察的偏移量

context.translate(-rect.left, -rect

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值