html5-canvas - HTML5 Canvas - 第一页加载时模糊,刷新时清晰
问题描述
晚上好,
我对 HTML 画布相当陌生,并且被我遇到的一个问题逼疯了,我无法完全弄清楚。
到目前为止,我正在使用 HTML5 画布来绘制用于描述性统计目的的图表。我的问题是,在第一次加载页面时,它有时会与预期不同,我似乎在移动版本上观察到这种行为更多。
第一个加载版本 - 不正确的版本:
页面刷新(以及任何后续页面刷新) - 更正一个:
在这种情况下,我只是刷新了页面,它从第一个屏幕截图转到了第二个屏幕截图,有时它在第一次加载时正确显示,这就是为什么我无法弄清楚似乎是什么问题。
在阅读了有关设备像素比的信息后,我应用了以下内容以避免画布模糊的一般问题:
const ratio = Math.ceil(window.devicePixelRatio)
canvas.width = canvas.scrollWidth * ratio;
canvas.height = canvas.scrollHeight * ratio;
但我的问题不在于画布总是模糊不清,而只是有时在第一页加载时,这让我不知所措。在线阅读后,我还尝试执行以下操作,但没有帮助:
const ctx = canvas.getContext('2d');
ctx.imageSmoothingEnabled = false;
解决方案
推荐阅读
- java - 如何折叠搜索结果中的重复项
- azure - 在 Azure devops 中跳过管道阶段
- javascript - 地图中的反应键不起作用。地图中的地图还连接唯一键
- python - 如何在同一个 matplotlib 图中绘制动画和点
- c# - 获取列表中的随机元素,其中第一个元素比最后一个元素有更高的机会被选中
- javascript - 仅对 ng-repeat 的一个元素应用附加过滤器
- python - 计算两个数据集之间的差距(pandas、matplotlib、fill_between 已经使用)
- python - 想要在 Python 中将剩余的两个图像保留在另一行中
- ruby-on-rails - 如何在 Ruby on Rails 中创建异步操作
- r - 库 dplyr::lag() 和 stats::lag() 中的冲突