Каково качество изображений без сетчатки, которые Xcode создает из версии @ 2x?

Поскольку мне сказали, что Xcode автоматически масштабирует изображение до не сетчатки, когда у меня есть только форма @ 2x в моем проекте, кажется, нет необходимости создавать другое изображение. Это заставило меня создавать мои приложения без изображений, не связанных с сетчаткой.

Но в последнее время я обсуждал эту проблему, и мне сказали, что качество изображения (на устройствах без сетчатки) не будет таким хорошим, если я отдельно не сохраню изображение без сетчатки.

Это правда?

Да, это правда, качество будет не таким хорошим, но также неплохо просто использовать @ 2x по нескольким причинам.

  1. Простой размер изображения сетчатки не может быть лучшим способом сохранить семантику изображения. Например, значок может выглядеть великолепно на нужный размер в формате @ 2x, но при уменьшении по размеру трудно отличить значок. Такой образ вашего обычного размера может быть немного отличающимся значком, который ниже по разрешению, но легче определить его значение.

  2. Изображение используется в памяти при использовании. A @ 2x изображение – это 4x разрешение нормального изображения, и как таковое занимает около x4 памяти. У устройств, таких как iPad 1 и 3GS (у которых есть дисплеи с сетчаткой), ограниченный объем памяти, и не так много. Таким образом, изображения сетчатки будут занимать гораздо больше доступной памяти, и ваше приложение / устройство не будут работать хорошо.

  3. Подобно пункту 1, но изменение размера, сделанное для изображений @ 2x для правильной установки на экране 1x, очень наивно и не выполняет выборку, чтобы изображение выглядело хорошо. Например, при сжатии изображение может быть очень сглаженным и грубым. Если у вас есть обычный файл изображения, полученный из версии @ 2x, вы можете выполнить свои собственные методы выборки и уменьшения разрешения, чтобы убедиться, что он выглядит так, как вы хотите.

Для нашего приложения iOS у нас есть (чрезмерно) навязчивый дизайнер, который потратил много времени на разработку активов самостоятельно для разрешения сетчатки и без сетчатки, и я спросил его, почему он потратил так много времени на каждый, а не по существу «масштабирование вниз / вверх». У него были некоторые отличные моменты: «если вы хотите, чтобы ваши активы хорошо смотрелись как на сетчатке, так и на сетчатке, вам нужен человек, чтобы принимать разумные решения о ваших путях / очертаниях ваших активов» .

Возьмем, например, кнопку 57×57 или значок с внешней границей 2px, белой внутренней границей 4px и тенью. Если вы просто масштабируете до 114×114, «путь» или линия этих границ масштабируются до 4px и 8px, что может вызвать две проблемы

  • при новом размере 4px и 8px может быть слишком толстым, вам нужно посмотреть на актив и решить, что, возможно, 3px и 5px имеют больше смысла
  • сглаживание углов больше не может выглядеть правильно, они могут быть слишком толстыми или слишком тонкими

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

  • Swift 3 Open Link
  • игнорируя некоторый текст в «Экспорт для локализации» Xcode,
  • Нажатие данных из UITableViewCell в UINavigationController
  • Предупреждение Mach-O Linker: слишком много индивидуальных процедур для компактного разговора
  • Разные LaunchScreen.storyboard для разных устройств
  • Добавление локализованных файлов в новое приложение IOS 7
  • Как изменить языковой стандарт на игровой площадке Xcode
  • Приложение iOS на неанглийском языке
  • Xcode: перейдите на первую страницу в раскадровке, когда приложение больше 5 минут в фоновом режиме?
  • Преобразование проекта xcode в iOSOpenDev
  • Как добавить addSubview в UIButton в Interface Builder
  • Interesting Posts

    Час в NSDateComponent в 12 или 24h формате?

    Изображение от ALAsset в быстром

    NSMutableArray как переменная экземпляра alway null

    iOS9: Альтернатива UIDevice.currentDevice (). setValue (…) для принудительной ориентации

    Как взять UIImage из AVCaptureVideoPreviewLayer вместо захвата AVCapturePhotoOutput

    Получить разрыв строки в UILabel из-за Autolayout

    Использование библиотеки magicalrecords в пользовательской статической структуре iOS

    Как оценивать действительно большие числа в Objective-C?

    React native base headers для ios не найден

    Вызовите сцену сценарной сцены программно (без необходимости segue)?

    Элемент Right NavBar Button исчезает после нажатия регулятора вида

    iOS 10 Локальные оповещения отклоняются рано, когда экран разблокирован

    Как определить причину низкой производительности UITableView

    MvvmCross iOS SelectedCommand для пользовательского TableViewCell

    (быстрый) способ отладки CrashIfClientProvidedBogusAudioBufferList, когда значение атрибута AudioStreamPacketDescription равно нулю?

    Давайте будем гением компьютера.