⑴ px、分辨率、ppi、dpi等单位说明
1 英寸=2.54cm
屏幕尺寸: 一般单位用作英寸,如iphone
5/5S为4英寸、iphone 6为4.7英寸、iPhone 6+为5.5英寸。
注意:4、4.7、5英寸指的不是屏幕的宽和高,而是对角线。
像素px: 构成图片的色块,不同的设备下,色块大小不一样,并不是固定。
点pt: pt就是point,是印刷行业常用长度单位,等于1/72英寸。
Px 和pt的区别: pixel是相对大小,而point是绝对局指大小。
pt = px * dpi /72,window的dpi为96,所以也写成pt=px*3/4。
物理分辨率: 像素数。如iphone 5/脊腊腔5S为640*1136、iphone 6为750*1334、iPhone 6+为1242*2208。也叫物理分辨率。
分辨率比: 分辨率高宽比,640*1136分辨率比是9:16。
像素密度(PPI)
公式:
点数密度(dpi): 每英寸的物理樱衫点数。
ppi 与dpi的区别: 一个150ppi(每英寸150个像素)的图片在600dpi(每英寸600个点)的设备上显示,每个pixel有16个dot (600 dots/150 pixels)。
db : 安卓系统的单位,1db=160ppi时的1px。
⑵ iOS尺寸单位pt、ppi与px之间换算关系
px:像素,构成影像的最小单位
ppi:Pixels Per Inch,即每英寸所拥有的像素数目,屏幕像素密度
pt: iOS开发单位 ,即point,绝对长度,约等于0.16毫米
注意 :在网上有些文章对iOS的pt存在一些误解,它不等同于印刷概念里的 1 pt=1/72英寸
iOS 开发中用到的单位 pt 是独立像素的意思,它是绝对长度,不随屏幕像素密度变化而变化(和我们日常用到的毫米、厘米是一个意思,只是它要小得多),在非视网膜的 iPhone 上(iPhone 3G),苹果规定 1px=1pt,也就是说 pt 和像素点是一一对应的。但随着 iPhone 4 的到来,高分屏出现了(视网膜屏),这个时候 1pt 对应 2px 。所以用固定长度 pt 作为开发单位的好处是:这样可以统一图形在同一种类不同型号设备上图形的大小。而如果用像素作为单位的话,就乱了套了, 因为在不同像素密度的屏幕里面,像素本身大小是不一样的 。
图中我们看到 iPhone 3G 和 iPhone 4 的屏幕长宽都是 320*480 pt,而像素长宽却相差两倍(iPhone 3G:480*320,iPhone 4:960*640),所以你理解 pt 的意思了吗?
既然 pt 是个固定尺寸,那么它到底有多长?我们可以通过计算 iPhone 3G 的屏幕像素密度 ppi 推算出来:
iPhone 3G 的 ppi 计算:
iPhone 3G 的屏幕像素密度 ppi 是每英寸 163 个像素,而苹果又规定在这种非视网膜的 iPhone 上,1pt=1px,所以我们也可以说每英寸上有 163 个 pt,那么 1pt=1/163 英寸,这就是 iOS 开发单位 pt 的长度:1pt = 1 /163 英寸 * 25.4毫米 ≈ 0.16 毫米。
以上推算也说明了为什么当我们在做 iOS 客户端设计的时候(通常我们以@2x来设计),开发说的图片尺寸多少 pt,换算成像素要乘以2的原因(如果我们做 iphone6+ 的设计要在 pt 数×3)。
再去看iphone的各个尺寸就很简单了。可以看出iphone的屏幕密度只有3种,即
@1x,163ppi(iphone3gs)
@2x,326ppi(iphone4、4s、5、5s、6)
@3x,401ppi(iphone6+)
⑶ 苹果xr后面的苹果标志多大
30x30pt(60px)。经查询苹果xr手机的相关资料得知,苹果xr后面的苹果标志尺寸为30x30pt(60px)。iPhoneXR是苹果公司(Apple)于北京时间2018年9月13日凌晨01:00(美国加州时间9月12日上午10:00)在圣斗轿搜何塞苹果园区史帆带蒂夫·乔布斯剧院空历发布的手机产品。
⑷ iOS、Android等开发中px、ppi、pt、pd、dpi的个人理解
作为一名iOS开发者,以前对这些概念懵懵懂懂,最近看了很多资知誉薯料记录下对这些概念的理解,主要以iOS和Android平台为切入
在iphone3gs的时候,屏幕的分辨率为320x480px、ppi =164 ,这时苹果把iOS系统的逻辑分辨率也设计为320x480pt 、dpi = 164 ,搭者并且后面一值遵循这个UI设计规范(1pt 的大小约等于ppi为164的情况下单个像素的大小)。在没有出现plus及iphonex系列的之前的设备的都是dpi≈164, 1pt 的物理大小是固定的,但对应的像素有可能不一样,后期出现的plus及iphonex系列的dpi都比164小一点点,所以1pt的大小也对应的有变大一点点,但是这变化是很小的,应该是苹果系统级别的大屏适配吧 。
苹果的设计规范一直是在保持dpi基本不变的情虚乎况下,设备分辨率和逻辑分辨率的是整数倍的缩放关系,但是在plus系列中,虽然开发的时候我们使用@3倍关系做设计开发,但是实际上他们之间是没有@3倍关系的,实际的缩放应该是@2.6倍,那为什么苹果不按照规范来呢,这个我也不知道,但是可以分析一下如果苹果严格按照@3倍来应该是怎样的。
可能因为Android的开源属性和终端太乱太杂,让安卓不能像iOS那样对于不同的设备在系统级别设置逻辑分辨率来方便开发者开发,但是Android也有很好的解决方案就是使用pd作为逻辑分辨率,从pd定义可知(幕像素点密度为160ppi时1px长度),pd是个固定的物理大小单位。因此如果以pd计算dpi的话,那dpi在不同设备上应该是一样的160dpi,和iOS以dpi≈164基本差不多,所以在Android、iOS设计开发的时候才会把他们两等同。
android图
⑸ 移动应用界面设计的尺寸设置及规范
一、android篇
1、android分辨率
Android的多分辨率,一向是设计师和开发者非常头疼的事儿。尽管如此,对于多分辨造成的复杂问题,也是大家要优先解决的。Android支持多种不同的dpi模式:ldpi 、mdpi 、hdpi 、xhdpi 、xxhdpi 、xxxhdpi
注意,ppi、dpi 是密度单位,不是度量单位 :
dpi主要应用于输出,重点是打印设备上;ppi对于设计师应该比较熟悉,photoshop画布的分辨率常设置为72像素/英寸,这个单位其实就是ppi 。尽管概念不同,但是对于移动设备的显示屏,可以看作ppi=dpi 。
ppi的运算方式是:PPI = √(长度像素数² + 宽度像素数²) / 屏幕对角线英寸数。即:长、宽各自平方之和的开方,再除以屏幕对角线的英寸数。
以iphone5为例,其ppi=√(1136px² + 640px²)/4 in=326ppi(视网膜Retina屏)
对于android手机,一个不确切的分法是,720 x 1280 的手机很可能接近 320 dpi (xhdpi模式),480 x 800 的手机很可能接近 240 dpi (hdpi模式),而320 x 480 的手机则很接近 160 dpi(mdpi模式)。
2、单位换算方法
android开发中,文字大小的单位是sp,非文字的尺寸单位用dp,但是我们在设计稿用的单位是px。这些单位如何换算,是设计师、开发者需要了解的关键。
简单理解的话,px(像素)是我们UI设计师在PS里使用的,同时也是手机屏幕上所显示的,dp是开发写layout的时候使用的尺寸单位。
为什么要把sp和dp代替px? 原因是他们不会因为ppi的变化而变化,在相同物理尺寸和不同ppi下,他们呈现的高度大小是相同。也就是说更接近物理呈现,而px则不行。
根据单位换算方法,可总结出:
当运行在mdpi下时,1dp=1px :也就是说设计师在PS里定义一个item高48px,开发就会定义该item高48dp ;
当运行在hdpi模式下时,1dp=1.5px :也就是说设计师在PS里定义一个item高72px,开发就会定义该item高48dp ;
当运行在xhdpi模式下时,1dp=2px :也就是说设计师在PS里定义一个item高96px,开发就会定义该item高48dp ;
当你的app需要适配多个dpi模式的时候,请参考图1的比例进行换算 。
3、设计稿基本元素的尺寸设置
为了适应多分辨率的手机,理想的方式是为每种分辨率做一套设计稿,包括所用到的icon、设计稿标注等。但在实际开发中,这种方法耗时耗力。所以通常会选择折中的方法。
方法一 :在标准基础上(比如xhdpi)开始,然后放大或缩小,以适应到其他尺寸。不足之处是,对于更高分辨率的手机,图标被放大后会导致质量不高。
方法二: 以最高分辨率为基准设计,然后缩小适应到所需的小分辨率上。缺点是,图标等若都最大尺寸,加载时速度慢且耗费流量较多,对于小分辨率的用户也不够好。
结合友盟的分辨率占比数据、也为了方便换算到android开发中的尺寸单位, 推荐设计稿的画布尺寸选用 720X1280 ,分辨率仍旧为72ppi(像素/英寸)。
在android规范中对于导航栏、工具栏等的尺寸没有明确的规定。但根据48dp原则,以及一些主流的android应用的截图分析,总结一下尺寸要求:
状态栏高度 :50 px
导航栏、操作栏高度 :96 px=48dp x 2
主菜单栏高度 :96 px
内容区域高度 :1038 px (1280-50-96-96=1038)
Android最近出的手机都几乎去掉了实体键,把功能键移到了屏幕中,高度也和菜单栏一样为:96 px
4、图标和字体大小(来自官方规范文档)
a、启动图标(home页或app列表页)
整体大小为48 x 48 dp
b、操作栏图标,代表用户在app中可以使用到的最重要的图标
整体大小为32 x 32 dp ,图形实际区域为 24 x 24 dp
c、小图标/场景图标,提供操作或特定项目的状态。
比如gmail app的星型标记、一些内容展开收起用到的向下向上的图标等。整体大小为16 x 16 dp ,图形实际区域为 12 x 12 dp 。
d、通知图标
如果app有通知,要提供一个有新通知时显示在状态栏的通知图标。整体大小为24 x 24 dp ,图形实际区域为 22 x 22 dp 。
注:android规范提供的尺寸单位是dp,若设计稿尺寸设为720 x 1280 ,图标大小需在规范要求的尺寸数字上乘以2。比如操作栏图标32 x 32 dp ,则设计稿上应该是64 x 64 px 。
e、字体大小
Android规范中的要求如下:
前面提到Android开发中的字号单位是sp,而换算关系是 sp*ppi/160 = px 。所以720 x 1280尺寸的设计稿上,字体大小可选择为 24px 、28px 、32px 、36px ,主要根据文字的重要程度来选择,特殊情况下也可能选择更大或更小的字体。
f、其他尺寸要求
通常把48dp作为可触摸的UI元件的标准。
为什么要用48dp呢?一般来说,48dp转化为一个物理尺寸约9毫米。通常建议目标大小为7-10毫米,以方便用户手指能准确并且舒适触摸目标区域 。
如果你设计的元素高和宽至少48dp,你就可以保证:
(1)触摸目标绝不会比建议的最低目标(7mm)小,无论在什么屏幕上显示。
(2)在整体信息密度和触摸目标大小之间取得了一个很好的平衡。
另外,每个UI元素之间的空白通常是8dp 。
二、iOS篇
1、分辨率
iPhone 界面尺寸:
iPad 界面尺寸:1024×768、2048×1536
(以上单位都是像素,至于分辨率一般网页UI和移动UI基本上都只要 72 ppi)
2、单位换算px、pt
这里需要先区分pt、px,pt(磅值)是物理长度单位,指的是72分之一英寸。手机上看来同一大小的字磅值是一样的,但是换算成不同分辨率手机的字号px值不一样。(px=pt*ppi/72)
iPhone在出retina屏(也就是4S)之前的屏幕像素是320x480px,屏幕密度是163ppi,4S的屏幕像素是640x960px,屏幕密度是326ppi,翻了一倍。iPhone5的ppi没有变化,兼容性方面要增加类似首屏画面等程序上的判断。
在iPhone界面上元素的定位、尺寸是通过一个单位point,而非px,屏幕上固定有320x480pt,retina屏两倍的分辨率改变的只是pt和px之间的比例而已,这样就能实现不改变程序,只上传两套图片就兼容两个分辨率。
****在设计的时候并不是每个尺寸都要做一套,尺寸按自己的手机尺寸来设计,比较方便预览效果,一般用 640×960 或者 640×1136 的尺寸设计。其中设计稿的画布分辨率设为默认的72ppi(此时1px=1pt ),所以设计师可以统一采用px为单位。
开发拿到设计稿时,将上面标注的以px为单位的字号大小、图像尺寸除以2,就是非retina屏上的pt值,这样在retina屏上也可以根据此pt值换算对应的px大小,以确保不同的分辨率下有合适的效果。****
3、基本元素的尺寸设置
iPhone的APP界面一般由四个元素组成,分别是:状态栏、导航栏、主菜单栏以及中间的内容区域。
这里取用 640×960 的尺寸设计,那我们就说说在这个尺寸下这些元素的尺寸:
状态栏:就是我们经常说的信号、运营商、电量等显示手机状态的区域,其高度为:40 px
导航栏:显示当前界面的名称,包含相应的功能或者页面间跳转的按钮,其高度为:88 px
主菜单栏:类似于页面的主菜单,提供整个应用的分类内容的快速跳转,其高度为:98 px
内容区域:展示应用提供的相应内容,整个应用中布局变更最为频繁的,其高度为:734 px=960-40-88-98
以上尺寸适用于 iPhone 4、4S,iPhone5/5s 的 640×11136 的尺寸,其实就是中间的内容区域高度增加到:910 px,其他尺寸也同上。
4、常用图像、图标大小(来自官方规范文档)
单位:像素
5、字体大小
iOS交互设计规范文档上,对字体大小没有做严格的数值规定,只提供了一些指导原则:
单位:点pt
– 即便用户选择了最小文字大小,文字也不应小于 22 点。作为对照,正文样式在大字号下使用 34 点字体大小作为默认文字大小设置。
– 通常来说,每一档文字大小设置的字体大小和行间距的差异是 2 点。例外情况是两个标题样式,在最小、小和中等设置时都使用相同字体大小、行间距和字间距。
– 在最小的三种文字大小中,字间距相对宽阔;在最大的三种文字大小中,字间距相对紧密。
– 标题和正文样式使用一样的字体大小。为了将其和正文样式区分,标题样式使用加粗效果。
– 导航控制器中的文字使用和大号的正文样式文字大小(明确来说,是 34 点)。
– 文本通常使用常规体和中等大小,而不是用细体和粗体。
网络用户体验做过的一个小调查:
单位:像素px
还有个方法就是找你觉得好的APP应用,手机截图后放进PS自己对比调节字体大小。
⑹ 一篇文章帮你理清pt,px, ppi,dpi,dp,sp
作为一个新人,在做移动端UI设计的时候,往往对px,pt,ppi,dpi,dp,sp不是十分清楚,一倍图二倍图三倍图如何换算,导致切图时不知如何导出,本人在学习过程中整理汇总了一些相关知识,并尽量用最简单得语言解释。设计师在设计时可以进行参考。(如发现文中出现错误隐晌,请联系我更正)。
名词解释 :
点pt : point,印刷行业常用单位,等于1/72英寸
像素px :pixel,电子屏幕上影像成像的基本单位。
长度单位 dp: dip ,Density-independent pixel, 是安卓开发用的长度单位,1dp表示在屏幕像素点密度为160ppi时1px长度
字体大小sp : scale-independent pixel,安卓开发用的字体大小单位。
点密度dpi : dot per inch,每英寸多少点,值越高图片越细腻。属于谷歌旗下第一款Android设备为160dpi,规定一倍图为160dpi。
像素密度ppi :pixel per inch,每英寸像素数,值越高屏幕越细腻。
面积相等的区域里,塞进了多少个像素,就代表像素密度有多大,塞进的像素越多即像素密度越大,肉眼所见细腻。如图1个方块代表1个像素,同一个区域里,100X100px的区域塞进去像素更多,显示时也会更清晰细腻。
计算公式及关系:
px与pt:1pt= (DPI / 72) px
即ps中,当画布分辨率为72时,pt=1px; 当新建画布分辨率为72*2=144ppi时,1pt=2px
dpi与ppi:安卓1倍图(163dpi)=ios1倍图(160ppi),dpi=ppi
注意:当ppi计算出来>=300,肉眼就已经分辨不出其区别。
以iphone3GS(320*480px/3.5 inch)为例 , 为ios1倍图
接下来,我将用部分主流机型举例:由 得,
iPhone 8 (750*1334px/4.7inch) 326 163*2 为2倍图
iPhone xr (828*1792px/6.1inch) 319 163*2 为闷扰2倍图
iPhone xs (1125*2346/5.8inch) 462 163*3 为3倍图
用这个公式,就可以大致判断每个机型应该是几倍图。其他就不在详细计算了,以1倍的mdpi为基准,像素密度更高或者更低的设备,只需乘以相应的倍率,就能得到与基准倍率相近的显示效果。上图:
px和dp: 1dp=(屏幕ppi/ 160)px,即1dp定义为屏幕密度值为160ppi时的1px
以WVGA屏为例,该屏幕为480px*800px,按3.8寸屏算,点密度 √ (480^2 + 800^2) / 3.8 = 245,约等于240,对应于hdpi屏幕,所以该屏幕1dp=1.5px。安卓端屏幕大小各不相同,根据其像素密度,分为以下几种规格:
1dp定义为屏幕密度值为160ppi时的1px,即在mdpi时,1dp = 1px。 以mdpi为标准,这些屏幕的密度值比为:ldpi : mdpi : hdpi : xhdpi : xxhdpi = 0.75 : 1 : 1.5 : 2 : 3;即,在xhdpi的密度下,1dp=2px;在hdpi情况下,1dp=1.5px。其他类推。
dp和sp:都是安卓的开发单位,dp是长度单位,sp是字体单位,可根据用蚂携旦户字体大小进行缩放,一般认为1dp=1sp。
Android系统允许用户自定义文字尺寸大小(小、正常、大、超大等等,当文字尺寸是“正常”时1sp=1dp,而当文字尺寸是“大”或“超大”时,1sp>1dp。
总结:
1. 在画布分辨率=72ppi时,1pt=1px
2.ppi=dpi,计算公式(√ (屏幕横向像素点x^2 + 屏幕纵向像素点y^2)/屏幕尺寸inch)
3. 1dp=(屏幕ppi/ 160)px
4.1dp=1sp
⑺ 移动端UI设计的PPI,逻辑像素,作图尺寸及适配
说明:本文主要从UI设计师角度,试图回答在移动产品UI设计过程中会遇到的以下问题:
1、如何理解「像素密度」和「逻辑像素」两个概念铅绝?
2、面对琳琅满目的手机型号和屏幕大小,应该选择何种倍瞎激敬率和尺寸进行作图?
3、基准设计稿完成后,如何进行屏幕适配?
说明:本章涉及的概念有:屏幕尺寸、PPI、DPI、物理像素。
诺曼在《情感化设计》一书中提到愉悦感的四大类,其中第一类是:生理的愉悦,也就是本能的感官体验。画质的清晰、细腻、逼真是视觉感官体验的一部分。而画磨慎质是由屏幕性质决定的。
当前市场手机型号众多,如何判断不同屏幕清晰度质量的好坏?这里,我们需要引入一个重要概念。
我们知道,屏幕是由很多像素点组成的,每个点发出不同颜色的光,构成我们看到的画面。当我们眼睛的视杆细胞和视锥细胞接收到的光线越多,我们感知到的画面就会越丰富。而如果需要光线多,就需要保证像素点够多。
我们在计算「人口密度」时,会抓出一平方公里的地区,看里面塞了多少人,据此,判断人口的密集程度。同理,我们可以抓出一英寸的界面,看里面塞了多少个像素点,判断像素的密集程度,这就是「像素密度」。
前面提到,「像素密度」表示一英寸界面中的像素点数,所以它跟两个参数有关:界面尺寸 和 像素。
一般手机的出厂配置信息中都标有「屏幕尺寸」,指的是屏幕的对角线长度,单位是inch(1英寸=2.54厘米,大约是食指最末端那根指节的长度)。设备长、宽的实际长度,即「物理尺寸」,用勾股定理计算可得屏幕尺寸。
我们也可以查到设备的分辨率,即在横纵切上的像素点数,也叫「物理像素」,单位是px。
拿到这两个参数,就可以计算出「像素密度」。
还有一种计算方法,是先算出「物理像素」的平方和,再开根号,最后除以「屏幕尺寸」。
从计算方法可以看出,像素密度就是pixels per inch,简称:PPI。
值得注意的是,在Android系统中,除了像素密度PPI,还有一个DPI,也是「像素密度」,全名为:Dots per inch,两者的区别是:
PPI:表示物理像素密度,是客观存在不会改变的。
DPI:表示软件像素密度,是软件参考了ppi后,人为指定的一个固定值,写在系统出厂配置文件上,保证在某一个区间的ppi在软件上使用同一个值,它是安卓特有的。
所以,可能有几款安卓手机的PPI不同,但是DPI相同。比如,有3款相同分辨率不同尺寸手机的ppi可能分别是430,440,450,那么在Android系统中,可能dpi会全部指定为480,以保证相同分辨率手机的表现一致。
苹果手机型号有限,所以没有DPI的概念,全部用PPI表示。
「像素密度」是连接数字世界和物理世界的桥梁。它是设备的固有属性,反映了屏幕呈现影像细节的能力。像素密度越高,屏幕显示的密度越高,拟真度就越好。Retina屏比普通屏清晰,就是因为它的像素密度翻了一倍。
我们可以根据「像素密度」判断屏幕显示质量的好坏。iPhone 3gs和iPhone 4物理尺寸相同,但是后者的ppi为326,是前者163的两倍,分辨率也是两倍的关系,说明4的呈像能力更佳。同时也可以看出,手机屏幕的物理尺寸和像素尺寸是不成比例的。
总之:只要两款手机的「像素密度」相同,它们的显示「精细程度」就是相同的。
说明:本章涉及的概念有:逻辑像素、倍率、逻辑像素密度。
假如我们在界面A(1英寸,4x4 px)上放一个1×1像素的红方格,然后把它移动到同样尺寸、2倍像素密度的界面B(1英寸,8x8 px)上,如下图所示。
在界面B上,红方格还是涵盖了1×1像素,但是实际的物理尺寸却变小了。这是不符合一般人的常识的,为什么同一个内容在同样尺寸的界面上显示不一样?
如何解决这个问题?我们可以试着分析一下:
对比界面A和B,B的「像素密度」更大,「界面-物理像素」也更大。
红方格在移动过程中,方格的「物理像素」不变,方格的「物理尺寸」变小。
以上因素中,「物理尺寸」是我们唯一肉眼可以观察到的属性。我们的目标是让红方格的变化过程符合常识,也就是保持红方格的「物理尺寸」不变。根据「像素密度」的计算公式,红方格物理尺寸一定时,当像素密度变成2倍,在界面B中的红方格的物理像素就必须变成原来的2倍。
物理尺寸一样,红方格在界面A和界面B中显示的内容物的多少就是一样的。为了标记这种“不同分辨率界面呈现同样多内容显示效果”的能力,我们引入一个抽象概念,它就是「逻辑像素」。我们约定把界面A的物理像素作为基准,界面B可用对应的像素乘以倍数得出,A和B的显示范围是一样的。这个基准就是逻辑像素。
现在,我们再次把红方格,从界面A移到界面B,因为界面B的像素密度是界面A的2倍,为了红方格在两个界面中肉眼可见的大小排版一致,根据公式,红方格在界面B中占据的物理像素是界面A中的2倍,如下图所示:
逻辑像素作为一组基准手机的分辨率尺寸,为了表达方便,需要有统一的单位。
由于iOS和Android的开发工具不同,逻辑像素在两个平台的单位名称也不同,iOS是pt, Android是dp, 设计师可以简单理解为:pt=dp
iOS 的 pt :point 表示点 。
Android 的 dp :Density-independent Pixels,指密度无关像素。
计量单位决定了我们的思考方式。在设计和开发过程中,应该尽量使用逻辑像素尺寸来思考界面。
「逻辑分辨率」就是用逻辑像素描述屏幕的分辨率;「逻辑像素密度」是用“屏幕像素密度”相对于“基准屏幕密度”的倍数表示,即相对密度。
假设「逻辑像素密度」为n,那么 1 pt = 1 dp = n px。具体单位之间的换算关系随倍率变化:
@1×倍:1pt=1dp=1px
@1.5×倍:1pt=1dp=1.5px
@2×倍:1pt=1dp=2px
@3×倍:1pt=1dp=3px
@4×倍:1pt=1dp=4px
可以把「逻辑像素」和「物理尺寸】相关联,在分辨率较低的手机中,可能1pt=1px,而在分辨率较高的手机中,可能1pt=2px,这样的话,一个108*108pt的控件,在不同的手机中就能表现出肉眼观看的差不多的大小,只是分辨率高的展示的更加清楚。如下图所示。
知道了逻辑像素和单位,实际「物理像素」的计算公式:
iOS的分辨率:px=pt * 倍率.(其中pt是逻辑像素尺寸,iOS常用倍率为@2×,@3×)
Android的分辨率:px=dp * (dpi / 160). (其中dp是逻辑像素尺寸, dpi是逻辑像素密度,160是规定的@1×的基准逻辑像素密度)。
「逻辑像素」是人为约定的,会影响屏幕显示内容的多寡,与影响清晰度的「像素密度」无关。
物理分辨率:硬件所支持的。
逻辑分辨率:软件可达到的。
当两个设备逻辑像素一致,显示容量就一样;当逻辑像素不一致时,尺寸大的那个显示的内容多。
比如,以iPhone 3gs 和iPhone 4 为例,两者的物理尺寸一致,逻辑分辨率一致;物理分辨率3gs是320×480, 4是640×960,后者无论物理分辨率,还是像素密度都是前者的2倍。因为物理分辨率不同,4的硬件支持的呈像质量更高;因为逻辑分辨率相同,两者的软件可达的容纳物的多少是一致的。
再比如,有两台Android设备的屏幕尺寸为480x800px和720x1280px,它们分别属于hdpi和xhdpi,除以各自倍率1.5倍和3倍,得到逻辑像素为320×533dp和360×640dp。很显然,后者更宽更高,能显示更多内容。
逻辑分辨率的三大作用:
1、作为屏幕显示内容多少(也就是容积)的表征。逻辑像素尺寸大,显示的内容就多,和设备实际的分辨率尺寸、像素密度和倍率都无关。
2、保证控件在不同屏幕间切换符合人的常识和预期:屏幕显示内容的多少,和分辨率、像素密度无关,和屏幕的物理大小有关,这也符合人们的常识:屏幕越大,显示内容越多。
3、应用于设计和开发:我们不需要关注屏幕的像素密度,只需要关心逻辑分辨率即可,方便设计沟通。
说明:熟悉了概念,下面进入实操:UI设计作图。
UI设计过程中,在我们决定采用哪一种手机屏幕的尺寸作图前,应该首先考虑选择何种倍率呢。
因为正是「倍率」,把大大小小的屏幕拉回到了同一水平线,得以保证一套设计稿适应各种屏幕。
另外,在为开发提供的设计资源图片中,同一张图通常有两个,甚至三个尺寸。文件名有的带@2x或@3x字样,有的不带。其中@2x,@3x就表示是倍率。不带的用在普通屏上,带的用在Retina屏上。只要图片准备好,iOS或Android会自己判断用哪张。
我们可以直接选择逻辑像素尺寸(也就是x1倍率)进行设计作图。
但是,x1倍率的设备目前差不多已被淘汰。而我们通常会将做好的设计图导入对应设备查看效果,目前主流设备都采用x2、x3倍率,x1的设计图放入主流设备查看效果必须进行放大,粗略的放大会导致失真,影响效果查看。所以x1倍率在最终查看效果图时存在缺陷。
那x3倍率的怎么样?
在与程序员沟通、设计切图时,我们都会进行倍率之间的换算。x3切图换算不方便;
另外,程序员拿到标注图后,需要将其中的px转换成pt进行开发。(1)情况1:x2倍率下,将列表高120px, 头像高102px的标注转换成逻辑像素后为:60pt,52pt,两者是无法居中对齐的,会有1pt误差,最终设备呈现效果就会有2px的像素偏移;(2)情况2:假如将x3倍率的100px转换成逻辑像素,由于逻辑像素与物理像素一样,必须取整数,程序员只可能在33pt和34pt之间选取一个数值。如果采用33pt,最终呈现在设备上的尺寸是99x99px, 有1px误差;如果采用34pt,最终设备呈现的尺寸是102x103px, 有2px误差。所以,为确保设计图的落地效果,我们需要:
在x1倍率下,尺寸必须为 偶数;
在x2倍率下,尺寸必须为 4的倍数;
在x3倍率下,尺寸必须为 6的倍数。
可以看出,x3倍率的执行难度最高。
通过以上,我们也可以排除“x3倍率”作为我们的作图选择。
因为x1倍率、x3倍率都存在明显短板,常用倍率只剩下x2倍率。鉴于x2倍率各方面都比较均衡,所以:
选择x2倍率作为我们的作图尺寸。
选定作图倍率后,我们就可以选择具体的作图尺寸。
目前iPhone的主流机型在x2倍率下的尺寸有5种,如下图:
其中,iPhone X 可以认为是iPhone 6 的加长版;iPhone XR 可以认为是iPhone 6P的加长版。如下图:
所以这4种尺寸可以归为2个类型:宽度为750和828的。
而Android系统逻辑像素已统一为360x640,x2倍率就是:720x1280.
最后,总结出双平台@2x倍率,共计4种屏幕尺寸。
大屏时代,用小屏为设计基准显然不合时宜。我们一般选择中间尺寸为基准进行适配,因为从中间向上或向下适配,调整幅度最小。
中间尺寸有两个分别是iOS和Android的,要选哪一个?
大多数设计师日常用的都是iPhone,对Android开发可能了解不够;同时Android验收不太受重视,设计师对Android的容错率较高,这也导致Android端常常容易出问题。根据“哪里问题多,从哪里着手”的原则,可选择以 720×1280 作为设计基准。
但是选择750×1334也没有毛病,很多比较倾向于iOS设计。两者都可以“一稿适配双平台”。
当然,很多团队都是同时出iOS和Android两套设计稿,那就可以:
同时把 750×1334 px 和 720×1280 px 作为设计基准。
为了发现作图尺寸和设计规范之间的关系,我们对比不同倍率的屏幕控件尺寸:
发现:控件高度随倍率等比放大/缩小。
(其中iPhone Xs Max只不过顶部状态栏在原来的20pt基础之上增加了24pt变为44pt,底部增加34pt的主页指示器。)
相同倍率,对比控件尺寸:
发现:相同倍率,控件大小不变。页面尺寸变化,不会对控件大小产生影响。
综上得出:控件大小只随倍率变化,与实际作图尺寸无关。也就是说:
作图尺寸对设计规范没有任何影响,设计规范就是组件规范。
说明:开始作图后,我们开始考虑更多的细节问题。
什么是适配?
就是让同一套APP的UI设计,在不同尺寸分辨率比例的「移动终端设备」上都能正常显示。为此需要根据不同机型对构成界面的组件进行的一系列调整。
为什么要适配?为了在多样性的设备环境中追求体验的一致,保持理想的展示效果。适配只看3个参数:
渲染像素——屏幕截图的图片尺寸,单位 px
逻辑像素——程序员开发所用尺寸,单位 pt
倍 率——渲染像素/逻辑像素 得到的倍数关系,常见倍率有@2x、@3x。倍率决定切图。
界面元素按照屏幕大小整体等比例缩放,一般是界面版式特殊,布局不能变化的情况。比如图片墙、图片列表。适配时,控件尺寸大小随屏幕宽度变化自适应。屏幕越宽,单屏显示内容越少。
注意:界面缩放过程中,要保证资源图片在拉伸后的清晰度,避免降低产品品质。
对局部控件做调整,进行缩放或自适应。比如,图片列表控件中局部图片的放大,文字列表控件文字长度的自适应。
如果界面不适合拉伸,或界面本来就有很多可扩展区域,可考虑将增加的空间分配到这些区域,增加元素的间距。比如,九宫格列表。
还有一些满屏界面,比如启动图、音乐播放器、活动H5页等。因为显示屏宽高比不同,拉伸会导致形变。可以通过调整背景间距增加延展性。
我们平常讲的适配常常都是指宽度的适配,因为一般界面的内容总是在纵向存在超过一屏的滚动内容,可以不断往下滚动,所以纵向的适配设计常常被忽略。
但是,全面屏的出现,使我们不得不正视这个问题。因为全面屏刘海和屏幕圆角的问题,导致整体高度的变化,进而影响了比例的变化。
首先,iPhone全面屏出现了刘海和屏幕圆角设计,我们需要重新定义「安全区域」,确保页面内容不能超出安全区域。
具体的安全区高度=屏幕高度-44-34(单位:pt),如下图所示
以下就顶部、底部和满屏界面进行适配。
顶部区域,非全面屏状态栏高为20pt, 全面屏状态栏高为44pt, 两者存在24pt, 在设计顶部时,需要就差值作出适配。
一般顶部区域主要放置的控件以及应对策略:
底部区域用于手势进入主屏或切换应用。如果将触发交互行为的按钮放在屏幕底部,会破坏APP的操作体验。除了一些无操作的信息流可以不用另外设置,常规做法都是将底部操作区全部提高34pt。
上文已经提到,正常全屏适配的常规做法就是间距调整,全面屏依然适用。需要注意的是一些全屏的视频播放,需要控制在安全区域内。
马上即将迎来折叠屏手机,折叠屏的适配也需要纳入考虑范围。目前有华为和三星两家手机厂商即将发布折叠屏。相关尺寸参数如下:
目前淘宝设计推荐的方法是,采用内容流动的适配方式。
具体需要等正式上市,再进行专门适配。待续……
说明:以下提供iOS和Android两个平台一些常见的手机型号、屏幕尺寸、分辨率等参数。
iOS常用的逻辑像素有:320×568 pt(5/5c/5s/se),375×667 pt(6/6s/7/8),375×812pt(X/Xs),414×736 pt(6p/6sp/7p/8p),414×896pt(XR/Xs Max),常用倍率有:@3x,@2x.
根据友盟数据,目前iPhone使用最多的是6/6s/7/8的750×1334px屏幕,倍率为2,逻辑像素320x667 pt。上升势头最猛,未来有望登上第一的是6p/6sp/7p/8p的1080×1920px屏幕。倍率为2,逻辑像素414x736 pt。
注意:iphone 6plus适配中,有设计版,物理版,放大版:
因为plus屏幕有1080个像素点,但截屏后发现图像是1242像素,就是在一个物理有1080个像素点的屏幕里塞了个1242像素的内容。而放大版,就是iphone 6的尺寸等比放大1.5倍得出的分辨率。
在iPhone6的x2倍设计稿中,界面元素之间的常用距离,亲密距离:20px;疏远距离:30px。
疏远距离:比如,所有元素距离手机屏幕最左边的距离。
亲密距离:比如,左边图标与右边文字之间的距离。
安卓由于屏幕尺寸过多,分辨率跨度大,根据dpi分成几个范围区间:
像素密度为160dpi左右的称为mdpi, 240左右的为hdpi, 320左右的xhdpi…以此类推。这样,所有的安卓屏幕都找到了自己的位置,并赋予了相应的倍率。
Android约定:当dpi=160时,倍率为@1x,逻辑像素=320×480 dp 或 360×640 dp ,称之为mdpi,其它的都是基于此通过倍率转化:hdpi:1.5倍;xhdpi:2倍;xxhdpi:3倍;xxxhdpi:4倍。
如今的Android屏幕逻辑像素已经趋于统一,基准为:360x640 dp。
在实际操作中,我们要用「逻辑像素尺寸」思维来思考界面,把单位设置成逻辑像素。打开PS的首选项——单位与标尺界面,把尺寸和文字的单位都改成点(Point)。这里的点也就是pt,无论设计iOS、Android还是Web应用,单位都用它。
要调节倍率,则通过图像大小里的DPI来控制。这个DPI,其实就是PPI,像素密度。有个常识大家都知道,屏幕上的设计DPI设成72,印刷品设计DPI设成300。
本文从理论入手,先介绍了「像素密度」和「逻辑像素」两个重要概念,其中像素密度影响“屏幕的成像质量”,逻辑像素影响“界面的容积能力”;接着进入实际操作,设计作图应该选择何种倍率和屏幕尺寸;然后是细节的处理,常用的适配方法,以及全面屏的适配。最后是iPhone和Android手机的一些设计参数。
⑻ iPhone屏幕尺寸和分辨率的相关知识 ( DPI vs PPI pt vs px)
DPI <Dots Per Inch> ---- 最初用于衡量打印物上每英寸的点数密度,就是表示你的打印机可以在一英寸内打印多少个点。DPI值越小,打印的内容越不清晰。
当DPI的概念迁移到计算机屏幕上的时候,就应该称之为PPI <Pixels Per Inch>。同理:PPI就是表示计算机屏幕上每英寸可以显示的像素点的数量。
pt <Point> ---- 代表点,是一个标准的长度单位,定义上:1 pt = 1 / 72 英寸,英寸跟我们所熟悉厘米、米一样,所以我们可以明确的指出1pt的长度是多少。
px <Pixel> ---- 代表像素,是屏幕上能显示的最小单位,在分辨率高的屏幕上,一个像素可能会达到我们肉眼无法识别的大小。
PS: Apple Device Screen Sizes 、 AppStore审核之App预览规范 、 AppStore审核之App截屏规范
视网膜屏幕是在iPhone 4发布时进入大众视野的,叫视网膜是因为屏幕的PPI已达到人们肉眼无法看到的级别,即我们肉眼已无法识别屏幕上的一个像素,从技术上来说就是Apple在物理尺寸与上一代相同的屏幕上塞下了2倍的像素。
iPhone 4采用Retina显示屏,在物理尺寸不变的情况下,像素成倍增加,达到了640x960像素。 iPhone 3GS屏幕上有320 x 480 = 153600个像素点,而iPhone 4屏幕上则有640 x 960 = 614400个像素点,像素个数是原来的4倍。
这样就出现了一个问题,怎么样让原来的App运行在新的手机上面? 为了运行之前的App,Apple引入了一个新的概念:point (点),“点”这个概念在iOS开发中很重要。iPhone 4屏幕尺寸继续保持320x480大小,不过单位并非是像素,而是“点”。
在iPhone 3GS中,一个点等于一个像素,也就是说点与像素可以直接互换;在iPhone 4中,一个点等于两个像素;在iPhone 7 Plus中,一个点等于三个像素。
iPhone 4和iPhone 3GS的屏幕尺寸实际上是一样的,都是3.5英寸。在屏幕上同样一个点,实际尺寸大小一样,只是在iPhone 4上单位英寸内的像素点更多,看起来更加细腻。
iPhone 4/4s iPhone 5/5s iPhone 6/6s的PPI都是一致的,都是326,用@2x素材。
但是iPhone 6 Plus的PPI是401,理论上苹果应该采用401 / 326 * @2x = @2.46x的素材,但是这个奇葩的比例对于开发者而言很难切图,所以Apple为了方便开发者就采用了@3x的素材,然后再缩放到@2.46x的屏幕上,也就是缩放到2.46 / 3 = 82%。实际上Apple选取了一个接近比例的87%,这样算下来,物理分辨率和虚拟分辨率的比例是87%,也就是1080 / 1242 ≈ 0.87, 1920 / 2208 ≈ 0.87。
⑼ iOS 字体pt和px的转换
iOS中, [UIFont systemFontOfSize:18] ,这里的18,单位是pt。日常工作中,美工给我们的UI图中表面的字号大小,例如36,单位是px。也即像素大小。下局陪面就来讲一下px和pt的转换。
首先讲两个基本概念:
物理像素:屏幕的实际分辨率,例如4s的640*960、5s的640*1136等。
逻辑像素:物理分辨率是硬件所支持的,逻辑分辨率是软件可以达到的。例如4s的320*480、5s的320*568等。
pt: iOS中的字号单位,1pt = 1/72 英寸。
px: 美工给的字体像素大小
DPI : 每英寸的像素数
由上述3个定义可知,1英寸有DPI个像素数。所以,1像素的大小 = 1/DPI 英寸。
1px * DPI = 1英寸 = 1pt * 72 => 1px * DPI = 1pt * 72 => 1px = 1pt * 72 / DPI
举个列子:
如果DPI是96,带入公式,我们可以得出,1px = 1pt * 3 / 4, 4px = 3pt
即 4px 的大小和 3pt 的大小相同,所以如果UI给出的是 4px,则我们应该使用 3pt。桐埋蠢
即数值大小应该为: pt = px * 3/4 => pt = px * 72 / DPI
结论: pt = px * 72 / DPI 。
如果px是物理像素下的大小,则算出的pt也是物理像素。但是iOS的字号是逻辑像素下的大小。所以需要先将px转换为逻辑像素,即如果是retain屏,例如@2x的,则物理像素px = 逻辑像素px*2。
这里同理,如果美工给你的是2倍图等,要先转成逻辑像素,即px/2。然后算出的pt就是逻辑像素下的字号大小。
Photoshop 默认的DPI就是72
所以也就是说,一般美工给的图,如果字体大小是px,2倍图,则iOS中的字号 pt = px / 2 。
eg: 美工给了你一张640*1136的5s用图,并标注其中一行字体大小为28px。首先先将物理像素转换液信为逻辑像素,即 28 / 2 = 14px ,然后带入公式, pt = 14 * 72 / DPI ,将 DPI = 72 带入公式,得 pt = 14 ,所以可知,对应iOS的字体大小即为14号字体。
在Windows里,默认的显示设置中,把文字定义为96DPI,所以这里吧 DPI = 96 带入公式, pt = px * 72 / 96 ,即: pt = px * 0.75 。
这里一个很重要的地方,就是美工给的图的DPI,所以小伙伴们一定要看好DPI,再算怎么转换。
这里附上一张mac下如何查看DPI的图。直接使用mac自带的预览工具,菜单栏->工具->显示检测器。
⑽ 在iOS系统中,图标主要分为应用图标和系统图标两种,单位是px和pt。px即“ ”
在 iOS 系统中,图标的主要分为应用图标和系宴悔裂统图标两种,这两种图标所用的单位不同。
应用图标的单位是 pt(point),而系统图标的单位是 px(pixel)。
pt 是一个相对长度单位,它不是像素,而是屏幕上某个元素的物理尺寸大小。
具体来说,在 iPhone 6 上,1pt 等于约 0.5px 的尺寸。
因此,如果我们要设计一个 120pt x 120pt 的应用图标,在 iPhone 6 上它将会被渲染成 60px x 60px 的实际像素大小。
而 px 则是屏幕上的实际像素点数量,通常用于描述图片或其他视觉元素的精确大小和晌闭位置。
在 iOS 设备上,通常使用 2x 和 3x 两个倍数来表示不同屏幕密度前姿下的像素大小。
例如,在 iPhone 6 上,由于其屏幕密度为 2x,因此每个 pt 实际上包含了 2 个 px。
总之,iOS 应用图标的单位是 pt,它代表着元素的物理尺寸大小;而系统图标的单位是 px,它代表着元素在屏幕上的实际像素大小。