html代码
- css 超出文字省略
- js判断json为空
- JavaScript反转数组实用的4种方法
- JS检查数组中是否存在某个元素
- js反转数组
- img图片和a标签在同一行的css写法
- js正则校验是否字符串为纯中文
- js数组遍历、截取、删除、元素查询
- view、div水平横向排列
- js document 增加、删除、操作节点和子节点
- js判断JSON为空
- input数字类型去掉上下箭头
- css鼠标指针cursor
- js两个时间相减得出时分秒
- Math.random()随机数四舍五入
- 使用js去除字符串内所带有空格的三种方法
- var、let与const变量声明比较
- js字符串切割split
- append和appendChild比较
- js给button添加点击事件
- 原生AJAX、XMLHttpRequest发送post表单请求
- js给input框点击回车事件
- css伪类选择器
- document移除style一个样式属性
- html2canvas如何实现滤镜效果
- html2canvas提高图片质量清晰度
html2canvas提高图片质量清晰度
时间:2024-01-01
当使用html2canvas进行生成图片操作时,我们要考虑图片清晰度,可以通过以下几个方法来提升。
一、增加截图区域尺寸
let _canvas = document.getElementById("content");//获取截图区域 var canvas2 = document.createElement("canvas"); var w = parseInt(window.getComputedStyle(_canvas).width);//计算截图区域的宽高 var h = parseInt(window.getComputedStyle(_canvas).height); //将canvas画布放大若干倍,然后盛放在较小的容器内,以破解模糊 canvas2.width = w * 2;//提升为原区域的2倍 canvas2.height = h * 2; canvas2.style.width = w * 2 + "px";//提升为原区域的2倍 canvas2.style.height = h * 2 + "px"; |
二、调整生成图片的分辨率
我们可以通过增加截图区域的像素密度来提高生成图片的清晰度。这个参数叫做“scale”,默认值为1,即为截图区域的实际大小。如果我们将其设置为2,那么截图区域的像素密度就会增加到原来的2倍。
生成图片的分辨率也是影响其清晰度的一个重要因素。我们可以通过设置生成的图片分辨率来提高图片的清晰度。html2canvas提供了一个“dpi”参数,可以用来设置生成图片的分辨率。默认情况下,该参数为96,即每英寸96个像素。我们可以将其设置为更高的值,比如300,来提高生成图片的清晰度。
html2canvas(document.querySelector("#content"), { canvas: canvas2, dpi: 500,//dpi值,设置成500 scale: 2,//设置为2 }).then(function (canvas) { const image = canvas.toDataURL(); }); |
使用以上2个方法,基本上可以生成高清的图片