【问题标题】:Calculating pixel size on an iPhone在 iPhone 上计算像素大小
【发布时间】:2009-03-04 11:38:04
【问题描述】:

iPhone SDK 中有没有一种方法可以计算单个像素的大小(以毫米为单位)?

【问题讨论】:

    标签: iphone graphics screen


    【解决方案1】:

    回答关于像素大小的问题:

    iPhone 和 iPod Touch 上的像素大小

    1. 早期 iPhone(iPhone 4 之前)Apple iPhone 技术规格说:480 x 320 像素分辨率,每英寸 163 像素(ppi )。大约每像素 0.006135 英寸或每像素 0.1558282 毫米。

    2. 前三代 iPod touch 声明相同的 163 ppi。

    3. iPhone 4 规格称分辨率为 960 x 640 像素,326 ppi 。所以像素宽度是 1 英寸/每英寸 326 像素或大约每像素 0.003067 英寸或每像素 0.0779 毫米。您使用点,而不是像素。编辑:正如下面 Olaf 的评论中所指出的,像素实际上是可寻址的,使用半点。

    4. 第四代 iPod touch(2010 年 9 月)具有 specs 与 iPhone 4 相同,960 x 640 像素分辨率,326 ppi

    5. iPhone 4S(2011 年 10 月)在分辨率方面与 iPhone 4 没有变化。

    6. iPhone 5(2012 年 9 月)规格称分辨率为 1136 x 640 像素,分辨率为 326 ppi。像素大小不变。屏幕对角线为 4 英寸。

    7. iPhone 5CiPhone 5S(2013 年 9 月)与 iPhone 5 具有相同的分辨率、像素大小和对角线。

    8. iPhone 6,4.7 英寸,(2014 年 9 月) specs 是 1334 x 750 像素分辨率, 每英寸 326 像素 (ppi)。像素大小从 4、4S、5 5s 不变。

    9. iPhone 6 Plus,5.5 英寸,(2014 年 9 月) specs 是 1920 x 1080 像素分辨率, 每英寸 401 像素 (ppi)。像素大小约小 20%。像素宽度为 1 英寸/每英寸 401 像素或大约每像素 0.002494 英寸或每像素 0.06334 毫米。

    iPad 上的像素大小

    1. iPad 12 是 9.7 英寸(对角线)显示屏,分辨率为 1024 x 768 像素,132 ppi 每iPad 规格。这大约是每像素 0.0075758 英寸或每像素 0.1924 毫米。

    2. 新的 iPad (2012 年 3 月)是 9.7 英寸(对角线)显示屏,分辨率为 2048 x 1536 像素,264 ppi 根据当前的iPad specs。 这大约是每像素 0.0037879 英寸或每像素 0.09621 毫米。
    3. iPad Mini(第 1 代 - 2012 年 10 月)是一款 7.9 英寸(对角线)显示屏,分辨率为 1024 x 768 像素,163 ppi 每原装 iPad mini 规格。那是关于 每像素 0.006135 英寸或每像素 0.156 毫米。
    4. iPad Mini 2(第 2 代 - 2013 年 10 月)是一款 7.9 英寸(对角线)显示屏,分辨率为 2048 x 1536 像素,326 ppi 根据当前@ 987654325@。那是关于 每像素 0.0030675 英寸或每像素 0.0779 毫米。
    5. iPad Air 2(2014 年 10 月)和 iPad Mini 3(2014 年 10 月)与这些产品的先前版本具有相同的分辨率、像素大小和对角线。

      Comparison of the iPad Air, and iPad Air 2, iPad Mini, iPad 2 and iPad3.

    您不需要让 iPhone SDK 计算单个像素的大小。一种选择是determine what you are running on,然后选择所需的毫米尺寸。

    带有 3.5 英寸(对角线)显示屏的 iPhone(直到并包括 4S)/iPod Touch 屏幕尺寸并不完全是 2" x 3"。它们比那小一点。 iPhone 5 有一个 4 英寸(对角线)显示屏。

    提问者可能真正需要的是:分数。 请参阅上一个答案的卸妆评论。坐标以点而不是像素为单位指定。

    【讨论】:

    • 当然它们是可单独寻址的。您可以在半点上指定位置,这会使您的图形在旧 iphone 上看起来很模糊,但在 iphone 4 上同样清晰。(或者您可以使用 opengl 或屏幕外缓冲区并将其复制到屏幕以进行低级访问)
    • 当人们在这里说 960 x 640 或 640 x 960 时,为什么他们不说这是纵向模式还是横向模式?请说明。
    • 该模式取决于您拿 iPhone 或 iPad 的方式。看到这个stackoverflow.com/questions/4482893/…
    • iPad Mini 的分辨率是 163 ppi,而不是 162 ppi。根据答案中链接的规范。
    • 这一切都是真的,除非应用程序在升级模式下运行:例如,当应用程序没有 iphone6 的启动图像时,应用程序在 iPhone5 仿真模式下运行,提供 iphone5 的屏幕宽度和高度。因此,要正确检测以 milimters 为单位测量的当前点尺寸,必须找出机器名称,并将已知屏幕尺寸的表存储在 milimiter 中。然后通过得到的 mainscreen.size 计算
    【解决方案2】:

    好吧,像素的大小是一个常数。当前 iPhone 或 iPod touch 的屏幕尺寸为 2" x 3" (50.8 mm x 76.2 mm),分辨率为 320 x 480 像素。

    50.8 / 320(或 76.2 / 480)=>1 像素的大小为 0.15875 mm x 0.15875 mm

    【讨论】:

    • 同意,一点点计算固定值的已知值。
    • 谢谢。我最初确实想过这样做,但后来我突然想到,如果他们在未来的模型中更改屏幕尺寸和分辨率,那么我将需要进行更多更改以使我的应用程序在新设备上很好地显示。
    • 好吧,我认为如果未来的版本改变像素密度(当前为 160 ppi),您将检查设备型号并使用不同的常数。我猜如果 Apple 更改未来型号的分辨率和/或屏幕尺寸,他们将在更新的 SDK 中提供该 API。
    • 确实,iphone 4 的像素密度翻了一番,但无需在您的应用程序中对其进行测试,因为您指定的坐标以点为单位,而不是像素。其中像素:点过去的比率为 1:1,现在它们的比率为 2:1。
    猜你喜欢
    • 2015-02-07
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 2012-04-10
    • 1970-01-01
    • 2012-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多