我用的是小米的红米Note 9 Pro。我的手机屏幕分辨率是1080x2400。但是当我使用 Dart 和 Flutter 打印手机的高度和宽度时,我得到 393x857。
我试图找到两者之间的相关性。但没能做到。
iPhoneX 的实际分辨率是 1125x2436,但使用 chrome 开发工具我发现它是 375x812。
我读过几篇关于 ppi、宽高比和其他类似内容的文章,最后我将其放在这里以了解它们的相关性。
请告诉我对于任何给定的像素,1125x2436 如何导出 375x812?
通过一些研究和学习,我成功地揭示了这两组数字之间的相关性,我想在这里分享我的理解。
物理像素与逻辑像素:
设备像素比 (DPR):
从物理分辨率计算逻辑分辨率
为了弥合两种类型像素之间的差距,我发现可以使用设备的 DPR 从物理分辨率导出逻辑分辨率:
以物理分辨率为 1125x2436、DPR 为 3.0 的 iPhone X 为例:
逻辑解析:
通过应用此计算,我可以理解为什么我的布局工具可能会为我的 iPhone X 显示 375x812。