javascript - html2canvas 模糊内部画布
问题描述
我有一个 html,里面已经有一个画布,并且画布周围有常规的 html 元素。
当我在外部 html 中使用 html2canvas 时,内部画布会变得模糊,但外部元素不会。
我尝试禁用imageSmoothingEnabled
画布上下文并增加scale
html2canvas 选项无济于事。
const options = {
scale : 2,
allowTaint : true,
}
const outerDiv = document.getElementById('outerDiv');
html2canvas(outerDiv, options)
.then(canvas => {
const ctx = canvas.getContext('2d');
ctx.mozImageSmoothingEnabled = false;
ctx.webkitImageSmoothingEnabled = false;
ctx.msImageSmoothingEnabled = false;
ctx.imageSmoothingEnabled = false;
window.open(canvas.toDataURL("image/png", 1.0));
})
HTML 脱离上下文示例:
<div id="outerDiv">
<h1>Crisp text!</h1>
<canvas></canvas>
</div>
注意:在我的实际上下文中,这个内部画布是使用 canvg 库创建的,它将 svg 转换为画布,但我认为它不相关,因为 canvg 的输出并不模糊。
解决方案
推荐阅读
- postgresql - 在某些命令终端不允许写入之后
- android - 是否可以在 Debug View Firebase 上看到 DevExtreme 应用?
- sass - 在自定义 _variables.scss 中使用时,覆盖引导程序 4 $primary 变量未全局应用
- java - java / kotlin方程中的时间顺序和加法函数
- android - 数据库通知和屏幕刷新
- xslt - 在不同节点中查找项目
- javascript - 如何在底部导航栏中访问类的 this.state (React Native)
- outlook - 无法在 Outlook-2013 中添加帐户
- html - 相对于容器中父图像的缩放,如何缩放/移动容器中的子图像?
- php - Symfony - 表单或 AJAX