什么是iPhone中的像素和点?

从UIImage参考,

尺寸

图像的尺寸,考虑到方向。 (只读)

@property(nonatomic, readonly) CGSize size 

讨论

在iOS 4.0及更高版本中,此值反映图像的逻辑大小,以点为单位。 在iOS 3.x及更早版本中,此值始终反映以像素为单位测量的图像尺寸。

像素和点之间有什么区别?

iOS上的像素是设备的全分辨率,这意味着如果我有一个100×100像素的图像,那么手机将在标准的非视网膜设备上呈现100×100像素。 但是,由于新iPhone的像素密度是四倍,相同的图像将呈现100×100像素,但看起来只有这个尺寸的一半。 iOS工程师很早以前就已经解决了这个问题(在带有Quartz的OS X中),他们介绍了Core Graphics的点系统。 一个点是一个标准的长度相当于非视网膜设备上的1×1像素和视网膜设备上的2×2像素。 这样,你的100×100图像将在视网膜设备上呈现两倍的大小,基本上规范了用户看到的东西。

它还提供了iOS设备上的标准测量系统,因为不pipe像素密度如何,iPhone屏幕上总是有320×480点,iPad屏幕上总是有768×1024点。

但同时,考虑到视网膜设备至less在iOS 4中引入,基本上可以忽略文档,我不知道还有更多的人在更新的iPhone上运行iOS 3。 但是,如果出现这种情况,您的UIImage将需要在视网膜iPhone上以像素的两倍尺寸进行渲染,以弥补像素密度差异。

*从iPhone 5开始,iPhone的尺寸现在是1136 x 640

在这里输入图像说明

这些人做了一个很棒的工作,看看这里 – 终极指南iPhone解决scheme 。

使用http://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions中的数据我设置了公式sqrt(pointWidth ^ 2 + pointHeight ^ 2)/ diagonalInches来计算每个电话显示的点数每英寸。

结果:

  • iPhone 2G,3G,3GS,4,4s = 164.825201164068082每英寸点数

  • iPhone 5,5s = 162.9846618550346903

  • iPhone 6 = 162.8061416117083255

  • iPhone 6 Plus = 153.535954278463216

正如你可以说每个手机上的点数大致相同。 使用相同的webopage,可以使用像素值设置相同的公式,并且由于较新手机上的像素密度较高,您会注意到很大的不规则性。