- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
当我要在游戏中进入全屏模式时,我需要将canvas
扩展到全屏。我使用 screen.width 和 screen.height 来检测屏幕尺寸。问题是,如果 Windows 10 中的屏幕比例设置未设置为 100%,则 screen.width
会小于实际屏幕尺寸。例如,如果在 Windows 设置中为 150% 缩放,则 screen.width 为 1280,但在页面空间中仍然为 1920 px。
我可以使用 window.devicePixelRatio
(在本例中返回 1.5)来校正大小。但页面缩放也会影响 devicePixelRatio
值。
因此,如果页面缩放至 67% 并且 Windows 屏幕缩放比例为 150%,devicePixelRatio
将返回 1.0,但 screen.width
返回 1280。但我需要知道屏幕尺寸是1920的方法。
最佳答案
与与 dpi 功能相关的 Chromium 开发人员交谈后,您能做的最好的事情似乎是:
canvas.width = Math.round(window.screen.width * window.devicePixelRatio / (window.outerWidth / window.innerWidth) / 80) * 80
canvas.height = Math.round(window.screen.height * window.devicePixelRatio / (window.outerWidth / window.innerWidth) / 60) * 60
这适用于 Chrome 和 Firefox。您可能想知道 60 和 80 数字在那里做什么。事实证明,60 是所有常用分辨率的高度的公倍数,而 80 的宽度也具有相同的作用。因此我们可以使用这些值来纠正这些操作期间出现的奇怪小数。
然后,如果 Canvas 处于全屏状态,您还可以执行以下操作:
canvas.style.width = window.innerWidth;
canvas.style.height = window.innerHeight;
这“几乎”完美地工作。就我而言,我注意到对于某些缩放值,canvas.style 值可能太短或太长一个像素。因此,我建议您在使用全屏模式和适当的背景颜色时设置 body.style.overflow = 'hidden'。
关于javascript - 根据页面缩放级别和 Windows 10 DPI 设置查找 devicePixelRatio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52299901/
java脚本中的 devicePixelRatio`在各种计算中。例如,我在除法中使用它作为分母。如果不检查该值是否为零,这是否安全?我认为是这样,但我想确定一下。 谢谢 最佳答案 无论是否可以,您都
我只是想知道与基于web-kit的浏览器和苹果设备相关的devicePixelRatio是否真的有用,或者它只是苹果的私有(private) Assets 。要知道,web-kit 引擎也是苹果公司的
我正在尝试在 typescript 文件中使用 window.devicePixelRatio 但这无法通过消息进行编译“属性‘devicePixelRatio’在‘窗口’类型的值上不存在” 是否有修
使用视网膜 Macbook Pro,可以插入外部显示器,然后在视网膜屏幕和其他正常 DPI 显示器之间拖动浏览器窗口。 这会导致 window.devicePixelRatio 动态变化吗?如果是这样
我一直在网上寻找浏览器对 window.devicePixelRatio 的支持,但运气不佳。 有谁知道哪些浏览器/设备支持这个? 最佳答案 根据 this博文:(自 2012 年起) window.
出于某种原因,任何小于 1 的像素比值在我的渲染算法中都不起作用。零值没有意义,但 0.5 有意义。 devicePixelRatio 是否可能返回 0 到 1 之间的值? 最佳答案 如果您将浏览器缩
window.devicePixelRatio 将返回 1 或 2,具体取决于我使用的是视网膜显示器还是标准显示器。如果我在两个显示器之间拖动窗口,这个属性就会改变。有什么方法可以在更改发生时触发监听
在我们的应用程序中,我们使用 Delphi 的 TWebBrowser 组件来显示 Web 内容。现在我们会遇到一个问题,即 Windows 是否缩放了显示器,例如 125% 的缩放比例。在这种情况下
有没有人找到一种可靠的方法来确定 Windows Phone 7.5 (Mango) 的设备像素比。 它基于 IE9。在基于 Webkit 的浏览器中,我们有 window.devicePixelRa
当浏览器打开我的网页时,是否可以使用 CSS 媒体查询将 devicePixelRatio 设置为 1? 我使用的屏幕分辨率为 1920x1080,显示比例为 125%(操作系统为 Windows 1
我对 devicePixelRatio 和 dppx 做了一些研究: deicePixelRatio:返回当前显示设备上一个物理像素的(垂直)尺寸与一个 CSS 像素的尺寸之比。 dppx:每‘px’
我正在尝试将图像设置为 phoneGap 应用程序屏幕的完整高度。目前,我正在使用以下代码来确定屏幕“尺寸”,并且正在使用 javascript 将图像分辨率设置为那些暗淡度。 $('.fullPag
我现在为此苦苦挣扎了一段时间。 我为客户做了一个响应式网站,但后来发现他的平板电脑 (Panasonic FZ-A1) 的设备像素比为 0.75,这意味着它说它有 1024x768 像素,但实际上显示
当我要在游戏中进入全屏模式时,我需要将canvas扩展到全屏。我使用 screen.width 和 screen.height 来检测屏幕尺寸。问题是,如果 Windows 10 中的屏幕比例设置未设
我想根据各种设备大小或 devicePixelRatio 值缩放我的 flutter 应用程序中的文本。我知道 flutter 应该根据 devicePixelRatio 值缩放文本,所以我以这种方式
我在 Darkroom.js GitHub 页面上问过这个问题,但它看起来并不特别活跃,所以我也在此处问过。总的来说,这是一个很棒的插件,但我在视网膜屏幕上进行了一些测试后遇到了问题。 在 devic
我正在使用 window.devicePixelRatio,它适用于 Android 和 Iphone,但不适用于 IE 10 Windows 移动设备。还有其他选择吗? 最佳答案 对于桌面和移动设备
我正在为企业开发网站。它不是任何想象中的 Web 应用程序,但我希望它在移动设备上看起来不错,而不是简单地缩放桌面版本。在对媒体查询和响应式/自适应设计方法进行了大量研究之后,我的要求是移动布局仅在用
我一直在测试 Three.js 的移动支持,并发现了 setSize 函数和多个 View 方面的一个怪癖。这是场景。 加载webgl_multiple_views时以我的 Nexus 7 (Andr
我正在尝试将 300dpi 图像绘制到 Canvas 对象,但在 Chrome 中它显示的质量很差。当我使用下面的代码时,它没有改善,但那是因为 devicePixelRatio 与 backingS
我是一名优秀的程序员,十分优秀!