Что такое пиксель и точки в iPhone?

из ссылки UIImage,

в размере

размеры изображения с учетом ориентации. (только для чтения)

@property(nonatomic, readonly) CGSize size

Обсуждение

в iOS 4.0 и более поздних версиях это значение отражает логический размер изображения и измеряется в точках. В iOS 3.x и ранее это значение всегда отражает размеры изображения в пикселях.

в чем разница между пикселями и точками?

3 ответов


пиксель на iOS-это полное разрешение устройства, что означает, что если у меня есть изображение длиной 100x100 пикселей, то телефон будет отображать его 100x100 пикселей на стандартном устройстве без сетчатки. Однако, поскольку новые айфоны имеют четырехкратную плотность пикселей, то же самое изображение будет отображаться на 100x100 пикселей,но выглядеть вдвое меньше. Инженеры iOS решили это давным-давно (еще в OS X с кварцем), когда они представили систему точек Core Graphics. Точка стандартная длина, эквивалентная 1x1 пикселям на устройстве без сетчатки и 2x2 пикселям на устройстве с сетчаткой. Таким образом, ваше изображение 100x100 будет отображаться в два раза больше размера на устройстве retina и в основном нормализует то, что видит пользователь.

Он также обеспечивает стандартную систему измерения на устройствах iOS, потому что независимо от того, как плотность пикселей chanes, всегда были 320x480 точек на экране iPhone и 768x1024 точек на экране iPad.*

но в то же время, вы можете в основном игнорируйте документацию, учитывая, что устройства retina были представлены с iOS 4 как минимум, и я не знаю слишком много людей, все еще работающих под управлением iOS 3 на более новом iPhone. Но если такой случай возникает, ваш UIImage должен быть отображен ровно в два раза больше его размеров в пикселях на сетчатке iPhone, чтобы компенсировать разницу в плотности пикселей.

*начиная с iPhone 5, Размеры iPhone больше не стандартизированы. Пожалуйста, используйте соответствующие API для получить размеры экрана или использовать ограничения компоновки.


enter image description here

эти ребята проделали потрясающую работу, Взгляните сюда -окончательное руководство по разрешениям iPhone.


использование данных из 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, вы можете настроить ту же формулу со значениями пикселей, и вы заметите большие неровности из-за более высокой плотности пикселей на новых телефонах.