从一张设计图的实现说起,为什么模拟器下ip6的分辨率是375而设计图一般给750?

看上面的这张图,首先屏幕尺寸就是实际的物理尺寸,重点是分辨率pt和分辨率px,要回答这个问题,就要明白pt与px。那么什么是pt呢?pt又叫做逻辑分辨率,简单的理解可以理解为长度单位。他只和屏幕尺寸有关系,3和4都是320pt。为什么5也是320pt呢?是因为高度变了,所以尺寸更大一点。但是他的宽度都是320的逻辑分辨率。所以简单的理解他这个pt跟屏幕的尺寸有关系。他就是一个长度单位

那么px是什么概念呢?我们叫他叫做物理分辨率。他和屏幕的尺寸没有任何关系,他也不是一个视觉单位。简单一点,可以理解一个像素点。我们看到的图片都是由很多个像素点构成的。为什么他不是一个长度相关的单位呢?我们只能描述有多少个点,不能描述是多大的点。
 
所以这能得到pt与px的一个关系,就是一个pt里面有几个px。或者说一个pt里面能够包含多少个px。那么为什么4比3的屏幕效果更好一些呢?这个就是逻辑分辨率里面包含的物理像素点个数有关系。3和4的逻辑分辨率都是320*480。关键在于它们的物理分辨率不一样。4对应是640*960。3对应的是320*480。同样的长度,3少一半。
所以Reader下面是1倍,2倍的关系。这个表示什么呢?这个表示同一个pt下面包含了多少个px。我们同一个单位下面,物理点越多,图像的显示越细腻,越清晰。6plus是3倍。每单位下面比6多出一个像素点。理论上是更清晰的。但是人眼分辨不出来,2倍已经是人眼能够分辨的极限。
最后是这个ppi。ppi是什么概念,他和Reader的概念是一样的。Reader的意思是每个pt下面包含多少个px。ppi表示每一寸包含多少个物理像素点。所以这个163是怎么得出来的。3.5寸表示的是对角线的距离,那么对角线的距离知道了,那怎么求这个163呢,就是勾股定理,320*480平方开根号再除以3.5寸得到的。
所以设计师是根据物理分辨率给的,不是根据逻辑分辨率给。所以6下面是2倍关系。
总结:
1、pt也称为逻辑分辨率
2、pt的大小和屏幕尺寸有关系,简单可以理解为长度和视觉单位
3、px指物理分辨率,和屏幕尺寸没有关系。因为点没有大小,只有多少个。
a、1个pt可以有1个px构成,也可以有2个,还可以有3个甚至更多构成。
b、ip6下2个px才构成1个pt。
如何适配不同的机型?
所以设计图给的是物理像素750px,但我们做图的时候,width里面的px指的是逻辑分辨率,不是物理分辨,所以设置宽度的时候需要/2,375px。但是我们不会只针对一种机型,要在不同的机型下作图。375是ip6下面的逻辑分辨率,但是到了ip6plus就不好用了,ip6plus是414。换成414后,切成ip5又不行了,只显示一半的图片。这样肯定不行,那怎么办?
需要自动去换算,根据不同的机型,自动去算单位
使用rpx,小程序会自动在不同的分辨率下进行转换,而使用px不会。为什么不会,因为在小程序下面,这个px指的是逻辑分辨率,也就是长度单位。是个视觉单位,所以长度是一定的。
ip6下 1px = 1rpx = 0.5pt
所以设计图是按照ip6下设计的,那么这里的px跟小程序里面的rpx是 1:1 的关系
<image src="/images/timg.jpeg" style="width:750rpx; "></image>
为什么要在ip6的物理分辨率来做设计图?为什么这里的750rpx就能适配所有的机型?
因为在ip6下,很好换算。1比1的关系。那么ip6下750rpx刚刚好称满屏幕。在ip6 plus下,750rpx就不是750px的逻辑分辨率,而是750/0.6=1250的逻辑像素。也是撑满ip6 plus。当时小程序就是依ip6来设计的,然后根据不同的逻辑分辨率换算出不同的rpx。所以按照ip6的物理像素写,就能自动的转换各种屏幕
ip6下 1px = 1rpx
ip6 plus下 1px = 0.6rpx
所以rpx是根据不同的机型做自适应调整的,但是有时候不需要自适应调整,就不能用rpx


移动分辨率和rpx的更多相关文章

  1. 小程序开发--移动端分辨率与rpx

    首先说一个很有意思的问题:一块720p的屏幕和1080p的屏幕那个大? 这个问题很有代表性,如果手机竖着放,720p=720px*1280px,而1080p=1080px*1920px;那么在宽度上, ...

  2. 初尝微信小程序3-移动设备的分辨率与rpx

    屏幕尺寸就是实际的物理尺寸. 分辨率(pt),是逻辑分辨率,pt的大小只和屏幕尺寸有关,简单可以理解为长度和视觉单位. 分辨率(px),是物理分辨率,单位是像素点,和屏幕尺寸没有关系. 微信开发者工具 ...

  3. rpx单位与移动设备分辨率

      移动设备的分辨率与rpx   不是所有的单位都适合用rpx   文章来源:刘俊涛的博客 欢迎关注,有问题一起学习欢迎留言.评论

  4. 小程序学习-理解小程序中响应式单位rpx

    微信小程序的官方文档用rpx来做响应式布局单位!那什么是rpx,应该如何设置呢?今天我们就来好好了解一下. [像素]:它不是自然界的物理长度,指基本原色素及其灰度的基本编码. [物理像素]:它是显示器 ...

  5. 微信小程序学习笔记

    一.文件结构解析 pages文件夹: 书写各个页面代码以及组件.内部js文件书写js ;  wxml文件为HTML ;   wxss文件为css样式 : json文件为配置当前页面的默认项,如titl ...

  6. ubuntu18.04微信小程序学习笔记

    安装微信小程序开发工具 安装 https://github.com/cytle/wechat_web_devtools 创建快捷方式 sudo nautilus //在/usr/share/appli ...

  7. 编写第一个微信小程序界面

    编写第一个微信小程序界面 不忘初心,方得始终:初心易得,始终难守. 传统的 web 结构 小程序文件目录结构 小程序页面层级结构 编写第一个小程序 1. 创建小程序目录结构 2. 编写代码 welco ...

  8. 微信小程序中的rpx与移动设备物理像素

    如下图: pt也称逻辑像素点,px物理像素点,1pt等于2px或者3px或更多; iphone6下面0.5pt=1px=1rpx; 使用rpx,小程序在不同设备分辨率下自行转换: PPI=物理像素开根 ...

  9. css中px,em,rem,rpx的区别

    今天看到一个面试题为 px,em的区别,为了更好地让读者区分css的长度单位,我总结下css中常用的长度单位: px,em,rem,rpx 像素px是我们在定义CSS中经常用到的尺寸大小单位,而em在 ...

随机推荐

  1. 神啊,看看Log4Net这个东西吧

    这个东西实在是让人感动的想哭囊…………-_-..... Log4Net.config文件 <?xml version="1.0" encoding="utf-8&q ...

  2. mac 下mongo的启动和关闭以及启动问题解决

    原文地址:https://www.cnblogs.com/leinov/p/7341139.html mac 下mongo的启动和关闭以及启动问题解决 mongo的安装在这:http://www.cn ...

  3. PDO 查询mysql返回字段int变为String型解决方法

    PDO 查询mysql返回字段int变为String型解决方法使用PDO查询mysql数据库时,执行prepare,execute后,返回的字段数据全都变为字符型. 例如id在数据库中是Int的,查询 ...

  4. Elasticsearch聚合操作报错解决办法

    1. 当根据一个类型为text的字段idc进行聚合操作时,查询语句如下: { "aggs": { "top_10_states": { "terms& ...

  5. Debian10.1用wine打开Windows工具乱码总结

    由于之前的deepin15.11莫名其妙挂了(就是使用一般没做啥特殊操作就挂了,不过有可能是我的移动固态硬盘也有锅),所以这次决定装Debian10.1版本, 由于安装时选择语言环境是中文的话创建的一 ...

  6. Windows 下配置 ApacheBench (AB) 压力测试

    下载 http://httpd.apache.org/download.cgi 我用的是ApacheHaus. 安装服务 1. 打开apache目录下的 conf/httpd.conf,搜索并修改 L ...

  7. 过滤器( filter )的使用

    转自:https://www.jianshu.com/p/2ea2b0e4d1f2 过滤器通常 在 web 服务端用的比较多,有要功能 在客户端的请求访问后端资源之前,拦截这些请求. 在服务器的响应发 ...

  8. Hystrix【入门】

    公共依赖配置: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spr ...

  9. ~ubuntu1804安装禅道

    一.解压禅道安装包 二.启动禅道 # 开启Apache和Mysql服务 /opt/zbox/zbox start # 停止Apache和Mysql服务 /opt/zbox/zbox stop # 命令 ...

  10. 资深程序员推荐必备书籍 《C语言程序设计》

    当下,IT行业发展日趋迅猛,产值成倍增长,高薪的诱惑更是驱使许多人想要进入IT行业发展.为了使大家更全面理解C语言程序设计,由千锋教研院高教产品研发部编著.清华大学出版社倾情出版的<C语言程序设 ...