不同的手机屏幕分辨率

问题描述 投票:0回答:1

我用的是小米的红米Note 9 Pro。我的手机屏幕分辨率是1080x2400。但是当我使用 Dart 和 Flutter 打印手机的高度和宽度时,我得到 393x857。

我试图找到两者之间的相关性。但没能做到。

iPhoneX 的实际分辨率是 1125x2436,但使用 chrome 开发工具我发现它是 375x812。

我读过几篇关于 ppi、宽高比和其他类似内容的文章,最后我将其放在这里以了解它们的相关性。

请告诉我对于任何给定的像素,1125x2436 如何导出 375x812?

android ios flutter screen screen-size
1个回答
1
投票

通过一些研究和学习,我成功地揭示了这两组数字之间的相关性,我想在这里分享我的理解。

  1. 物理像素与逻辑像素:

    • 物理像素:这些是构成屏幕显示的实际点。例如,设备可能被宣传为具有 1125x2436 物理像素的分辨率。
    • 逻辑像素:这些是开发人员用于布局和设计的单元。他们考虑了设备的像素密度,确保一致的体验。
  2. 设备像素比 (DPR):

    • DPR 是这里的一个关键概念。它是物理像素和逻辑像素之间的比率。它定义了一个物理像素对应多少个逻辑像素。
    • 考虑典型 DPR 为 3.0 的 iPhone X。这意味着每 3 个逻辑像素就有 1 个物理像素。

从物理分辨率计算逻辑分辨率

为了弥合两种类型像素之间的差距,我发现可以使用设备的 DPR 从物理分辨率导出逻辑分辨率:

  1. 物理分辨率除以DPR:
    • 逻辑宽度=物理宽度/DPR
    • 逻辑高度=物理高度/DPR

以物理分辨率为 1125x2436、DPR 为 3.0 的 iPhone X 为例:

  • 物理分辨率:1125x2436
  • 设备像素比(DPR):3.0

逻辑解析:

  • 逻辑宽度:1125 / 3 = 375
  • 逻辑高度:2436 / 3 = 812

通过应用此计算,我可以理解为什么我的布局工具可能会为我的 iPhone X 显示 375x812。

© www.soinside.com 2019 - 2024. All rights reserved.