语境:
我正在尝试创建一个能够使用现实世界维度的应用程序。在我的特殊情况下,如果不是 100% 准确也没关系;但是,越准确越好。
例如:如果我试图显示一个 3 厘米宽的正方形,而实际上我显示的是一个 2.8 厘米宽的正方形,这是可以接受的。
问题:
虽然似乎有办法以像素为单位获取屏幕的宽度和高度,但无法以厘米/英寸为单位获取屏幕 DPI 或屏幕的宽度和高度。
我的问题:如何获取或计算屏幕的 DPI?如果这是不可能的,是否有另一种方法可以尝试使用现实世界的测量?
你可以尝试使用 React Native 的PixelRatio.get()来计算这个。此方法将返回一个1等于 mdpi 屏幕 ( 160 dpi)的乘数。因此,如果PixelRatio.get()返回1.5,则它是一个 hdpi 屏幕(160 * 1.5 = 240 dpi)。
在 mdpi 屏幕上:
1 inch = 160 pixels
1 inch = 2.54 cm
-----------------------
1 cm = 62.992126 pixels
Run Code Online (Sandbox Code Playgroud)
所以要在这个屏幕上渲染 3 厘米宽的东西,它需要 189 像素。
同样,在 xhdpi 屏幕 ( PixelRatio.get() = 2) 上,例如:
1 inch = 320 pixels
1 inch = 2.54 cm
-----------------------
1 cm = 125.98425 pixels
Run Code Online (Sandbox Code Playgroud)
3 厘米宽的东西必须是 378 像素。
| 归档时间: |
|
| 查看次数: |
4707 次 |
| 最近记录: |