2016-11-07 16 views
4

Мне сложно помещать всю информацию о размерах изображений для @ 1x, @ 2x и @ 3x вместе. Я использовал редактор сцены в XCode, размер сцены которого составляет 1334x750 (размеры пикселей экрана iPhone 6). Итак, когда я занимаюсь размером изображения для спрайта в этой сцене, это размер, который я должен использовать для @ 2x?Понимание размера изображения для разных экранов разрешения

Из того, что я прочитал в документации, CGSize использует точки, а не пиксели, поэтому, если у меня есть изображение CGSize (ширина: 50, высота: 50), это не зависит от моего размера сцены в редакторе сцены ?

Вопрос о нижнем строчке: как размеры CGSize преобразуются в то, как я экспортирую свои изображения для @ 1x, @ 2x и @ 3x в пикселях, и каков должен быть PPI при экспорте?

+0

@claassentApps, если мой ответ соответствует точке, пожалуйста, отметьте галочкой ** принять ответ **. Спасибо –

+0

@FaizFareed, я не думаю, что он действительно отвечает на мой вопрос - мой вопрос был больше о том, какие размеры (в пикселях) мне нужно экспортировать для данного CGSize (в точках) и сколько пикселей на дюйм я должен использовать при экспорте , Конечно, у меня не было возможности слушать видео, которое вы опубликовали, но я не использую AutoLayout, но используя редактор сцены в SpriteKit. – claassenApps

+0

@FaizУзнал, что вы милях от ответа на этот вопрос. Этот вопрос лежит в основе обмана, присущего появлению сетчатки без предупреждения и ее продолжающихся разбросов по всему Xcode, поскольку каждая новая функция экрана хранится в секрете до ее выпуска, а последующие ухищрения и произвол создают это в том, как Xcode имеет дело с этими искусственные проблемы. – Confused

ответ

1

Концепция проста. Размер в Storyboard или Interface Builder должен быть размером вашего актива в формате @ 1x.

Экран сетчатки (или размер iPhone 6+ @ 3x) не означает, что у вас много места, чем раньше, это означает, что вы можете нарисовать 2 (или 3) пикселя, где вы нарисуете 1 раньше.

Таким образом, для 50x50 точек изображений View, Ий должен иметь 3 активов: - [email protected] (50x50 пикселей) - [email protected] (100x100 пикселей) - [email protected] (150x150 точек)

+0

Спасибо за сообщение. Так ли CGSize (используя точки) абстрагирует идею пикселей? - если CGSize имеет 50x50 точек, для '@ 1x', используйте 50x50 пикселей, '@ 2x', используйте 100x100 пикселей и '@ 3x', используйте 150x150 пикселей? Как PPI вписывается во все это? – claassenApps

+0

Да, действительно. CGSize (50,50) будет выглядеть одинаково для всех типов экранов. Для второй части это волшебство сетчатки, рисование в два раза больше пикселей в одном и том же пространстве дюйма – CZ54

+0

@ CZ54, bro Не могли бы вы помочь мне проверить мой вопрос http://stackoverflow.com/questions/43955856/different -launch-screen-image-or-background-image-sizes-for-ios-devices? –

1

Предположим, вы создали образ в библиотеке активов, состоящий из 3-х наборов же изображения, @1x.png имеющие размер 50x50 pixels, @2x.png размера 100x100 pixels и @3x.png размера 150x150 pixels.

Вам не нужно беспокоиться о том, какой из них использовать в вашем раскадровке (потому что раскадровка автоматически использует @ 1x.png), и какой из них использовать для целевого устройства, например iPhone6 ​​или iphone7, или iPad (потому что по умолчанию все аппаратные программирования находит свои пиксели относительное требуемое изображение среди тех @ 1x.png, @ 2x.png и @ 3x.png)

для получения дальнейших инструкций вам необходимо изучить Auto layout Programing Guide вы можете также просмотреть видео учебник своего яблока относительно автоматической компоновки.

тайны Автокомпоновка part1

тайны Автокомпоновка part2

+0

bro Не могли бы вы посмотреть мой вопрос http://stackoverflow.com/questions/43955856/different-launch-screen-image-or-background-image-sizes-for-ios-devices? –

3

Xcode может обрабатывать векторные изображения, так что вы можете забыть о @ 2X и @ 3X изображений, если вы можете экспортировать изображения в формате PDF, например, в панели экспорта Sketches одним из вариантов формата экспорта является PDF, поэтому создайте свое произведение @ 1X и экспортируйте в формате PDF, а затем в Xcode, когда вы добавите изображение в Assets.xcassets, вы можете установить атрибут Scales на Single Scale. Xcode будет генерировать требуемые изображения @ 2X и @ 3X из вашего векторного PDF во время сборки.

+0

Я этого не знал, мне придется попробовать. Не могли бы вы предоставить графическое изображение, показывающее, что он действительно генерирует \ @ 2X и \ @ 3X, а не просто принимает вектор \ @ 1X, преобразовывает его в растровое изображение, а затем масштабирует – Knight0fDragon

+1

@ Knight0fDragon Это [SO post] (http: // stackoverflow .com/questions/25818845/how-do-vector-images-work-in-xcode-ie-pdf-files) объясняет, как векторы работают в Xcode. –

+0

@MarkBrownsword, Есть ли способ использовать векторные иллюстрации в атласе спрайта? Я не вижу некоторых из них, чтобы заставить их работать, когда они включены в атлас спрайта. – claassenApps

1

@1x и @2x используется для изменения графики сетчатки, когда вышел iPhone 4.

iPhone 3GS был 320x480, iPhone 4 был 640x960. Это означало, что точки на дюйм были буквально одинаковыми, но ppi удваивался, следовательно, @2x. Когда вышел iPhone 5, единственное, что изменилось, это высота, поэтому ppi была одинаковой для ширины, здесь проблем нет.

Затем мы нажимаем 6 и 6+.На этом этапе Apple заявила, что закрутила его, постарайтесь сохранить ppi, который коррелирует с предыдущими iPhone, не сохраняя предыдущую полезную область iphones или увеличивая пиксели экрана для более крупных устройств. Теперь @2x потерял свое первоначальное значение

Но, чтобы действительно выбросить нас, они сделали iPhone SE, который вернулся к экрану экрана ppi iPhone 5, так что @2x снова имеет смысл.

В принципе, когда вы думаете о графике @ 2x, подумайте о 1-м размере разрешения iPhone.

Теперь у вас есть выбор. Вы можете придать вашим приложениям более/менее полезную область, вы можете использовать черный ящик в дополнительной полезной области, или вы можете масштабировать и получать какую-то потерю качества из-за того, что пиксели игры не будут больше 1: 1 с пикселями экрана.

+0

Не могли бы вы помочь мне просмотреть мой вопрос http://stackoverflow.com/questions/43955856/different-launch-screen-image-or-background-image-sizes-for-ios-devices bro? –