什么是PPI
对于屏幕的PPI的定义,全称为:Pixels Per Inch,即每英寸所包含的像素数目。
可以看看苹果官网的技术参数介绍:
PPI计算方式
所谓的屏幕的大小,在手机上都是指屏幕斜对角的长度。
因此,对于计算手机的PPI值,我们需要了解下面的几个关键参数:
iPhone Xs | iPhone Xs Max |
---|---|
2436 x 1125 | 2688 x 1242 |
458 ppi | 458 ppi |
5.8 英寸 | 6.5 英寸 |
上面的表格中,这三个技术参数之间到底有什么关系呢?
实际上,上面的苹果官方截图的PPI宣传,Xs和Xs Max的PPI是一样的,其实是不对的,苹果官方故意抹平了两种设备的PPI参数。
实际上:iPhone Xs的PPI更高,为462 ppi,iPhone Xs Max的PPI略低,为455 ppi,这里可以理解为评估的销售策略。
什么是DPI
DPI是 Dot Per Inch 的缩写,针对显示器的设计时,DPI = PPI
DP是Andorid开发的单位,1dp表示在屏幕点密度为160ppi时1px长度。
因为Andorid设备的屏幕众多,不能为每个屏幕单独开发,所以用公式:px = dp x (PPI/160)计算在不同屏幕上的像素值。
什么是DPR
DPR 即 Device Pixel Ratio,设备像素比
设备像素比 = 物理像素 / 逻辑像素(px) [备注:在某一方向上,x方向或y方向]
dpr参考:https://stackoverflow.com/questions/8785643/what-exactly-is-device-pixel-ratio
MediaQueryData类
用于获取关于媒体(例如:窗口)信息的类
例如:MediaQueryData.size
就包含了当前窗体的宽、高属性。
参考
链接:
- https://blog.seosiwei.com/detail/46
- https://medium.com/flutter-community/developing-for-multiple-screen-sizes-and-orientations-in-flutter-fragments-in-flutter-a4c51b849434
- https://juejin.im/post/5c45abc0f265da617265c656
- https://www.jianshu.com/p/c3387bcc4f6e
- https://www.25xt.com/appdesign/24163.html#targetText=iPhone%20XS%20%E6%98%BE%E7%A4%BA%E5%B1%8F,%E5%83%8F%E7%B4%A0%E5%88%86%E8%BE%A8%E7%8E%87%EF%BC%8C458%20ppi%E3%80%82
- https://medium.com/@onlinelogomaker/what-is-the-difference-between-dpi-ppi-resolution-and-image-size-b42328e7ed22