html2canvas提升像素,深入学习html2canvas的使用 / 提高html2canvas截图精度 / 提高dpi

为了解决html2canvas截图模糊问题,通过放大canvas尺寸并缩小显示大小来提高清晰度。然而,即使这样,截图的dpi仍为96。在html2canvas作者的GitHub中找到了增加dpi和scale选项的方法,但该变更未反映在官方文档中。通过设置dpi为300,理论上可以得到更高分辨率的截图,但实际上图片大小变为原来的3.125倍,dpi并未真正改变。目前仅能略微提升截图质量,寻找更多解决方案中。
摘要由CSDN通过智能技术生成

项目中要实现div的截图功能,使用了html2canvas截的图比较模糊,我之前也记录过这个问题,html2canvas 实现网页截图,但是现在要对截图的精度进行优化,截出来的图片要实现打印照片的功能,也就是说html2canvas截图至少要达到300dpi,这样打印出来的图片才不会失真 !这个问题真是难到我了,我在网上搜了很多解决html2canvas截图不清楚的文章看,发现大部分网友都赞同先放大canvas到2倍,然后再缩小画布(渲染的)大小,要设置canvas的画布大小,使用的是canvas.width 和 canvas.height;要设置画布的实际渲染大小,使用的style或CSS设置的 width 和height,只是简单的对画布进行缩放。比如: var scaleBy=2;//缩放比例 var owidth=$("#cj1").outerWidth(); //准备截图div的宽 var oheight=$("#cj1").outerHeight(); var mycanvas = document.createElement("canvas"); mycanvas.height = oheight*scaleBy; mycanvas.width = owidth*scaleBy; mycanvas.style.width = owidth + "px"; mycanvas.style.height = oheight + "px"; var cxt = mycanvas.getContext("2d"); cxt.scale(scaleBy, scaleBy); html2canvas(document.getElementById("cj1"), {

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值