2015-08-03 2 views
7

Я попытался использовать новую функцию PDF XCode, которая в основном масштабирует изображение до 1x, 2x и 3x. К сожалению, я также использую Spritekit, поэтому лучше использовать SKTextureAtlases, чем каталог активов.Почему XCode масштабирует векторные изображения лучше, чем Illustrator или Photoshop?

Моя проблема заключается в том, что растрированная версия pdf выглядит лучше, чем любой экспорт из Adobe Illustrator (или Photoshop с использованием Smart Objects).

Вот ссылка на Imgur album с примерами.

В частности, изображение, экспортированное из Иллюстратора, имеет 2 квадратных размера: 60 ​​пикселей и 90 пикселей. Изображения в Xcode имеют одно и то же имя, но находятся в двух разных атласах: [email protected] и [email protected] PDF был экспортирован на квадрат 30 пикселей из Illustrator, а затем Xcode масштабирует его до версий 2x и 3x.

Так почему же версия Xcode выглядит острее (особенно вокруг соединения между закругленным углом и плоской стороной)?

+0

Ваша ссылка не идет в альбом, она просто отправляется в Google –

+0

Спасибо Рон. Я установил ссылку. – bricksmart

+0

@ user2280092: Возможно, это связано с настройками Photoshop/Illustrator? – Domsware

ответ

0

Я думаю, что это может быть проблема с разрешением: Xcode не имеет необходимого разрешения, чтобы увеличить изображение, вызывающее сбои.

Когда SKSpriteNode создан без указания размера, используется размер текстуры. Таким образом, если вы SKSpriteNode имеют размер 30х30 точек , вы должны принести 60x60 пикселей изображение для @ 2x и в 90x90 пикселей изображение для @ 3x.

Возможно, это связано с настройками в Illustrator.

Чтобы иметь истинное сравнение на экране можно отобразить два SKSpriteNode с одинаковым размером 30х30 точка:

  • первый из них это текстуры из атласа, порожденного Illustrator
  • Seconde иметь текстуру из изображения из активов, созданных из PDF-функции XCode

Обратите внимание, что для этого теста вам даже не нужен атлас, поскольку атлас предназначен для рендеринга оптимизаций.

+0

Жаль, что я не вернулся к вам раньше, но я проверил его, и теперь он работает. Спасибо за ваше время. – bricksmart

+0

Отлично! Пожалуйста. – Domsware