javascript - 如何将窗口 ppi 与屏幕 ppi 匹配?
问题描述
我正在开发我的 HTML5 游戏以匹配设备的屏幕,就像本机移动应用程序一样,我有一个视口元数据,将宽度声明为设备宽度并防止缩放,如下所示:
<meta name = 'viewport' content = 'width = device-width, user-scalable = 0'/>
以及一个调整画布大小以匹配窗口的脚本:
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
我遇到的问题是,在我的 1080p 智能手机上测试游戏时,图形明显模糊;结果我的画布尺寸(纵向模式)是424×829。然后我删除了设备宽度,我的网页在纵向上呈现 980×1915,这有点偏离,然后在横向上呈现 980×371,这仅比设备宽度好一点。如何让它与屏幕的像素密度相匹配?谢谢你。更新:需要明确的是,我在将画布放入窗口时没有问题,我无法让窗口与屏幕的分辨率匹配(例如,在 1080 像素宽的屏幕上为 1080 像素宽,而不是 980 或 424) .
解决方案
我认为您的问题的答案是:只需将您的画布宽度100vw
和高度设置为100vh
.
推荐阅读
- ios - 将 Image 设置为 Nil 会导致 ImageView 在 Stack View 中消失
- android - BottomNavigationView - 如何禁用选定的图标突出显示
- c++ - 为什么 glm::vec3 不像浮动数组那样排序
- bash - SLURM批处理数组循环?
- bash - 在不调用 subshell 的情况下捕获源 shell 脚本的退出代码
- postgresql - 如何在 liquibase SQL 命令中传递变量?
- c++ - 为什么变量没有重置?
- reactjs - 如何为注销添加自定义 DrawerItem
- json - 修改 Maximo 7.6.1 中生成的 JSON
- r - 如何将1个数据框中的值分配给另一个数据框中的新列