Изображение большего размера в уменьшенном виде

Это скорее логический вопрос, все работает нормально.

У меня есть ImageView, и для этого я загружаю изображения с веб-сервера. Наш веб-сервер хранит изображение самого большого размера, а затем меняю изображения на нужные устройства. Так что скажем, если у меня есть UIImageView размером 200 * 200, и я загружаю изображение 400 * 400, я масштабирую изображение до 200 * 200, а затем помещаю его в изображение, я попытался поместить изображение 400 на 400 в 200 на 200 изображений, и это выглядит хорошо для меня (без пикселизации). То, как я реализовал масштабирование, – это

[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)]; 

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

Требуются предложения.

Вы должны быть в порядке, чтобы просто присвоить 400×400 UIImage 200×200 UIImageView. CoreAnimation будет заниматься масштабированием изображения под ним.

Качество изображения

Если вы хотите поэкспериментировать с различными качествами масштабирования изображения, вы можете установить minificationFilter фильтр на слой UIImageView. По умолчанию используется kCAFilterLinear , который, я думаю, будет хорошо для вашего использования. Несколько пикселей из изображения 400×400 будут выбраны и линейно смешаны вместе, чтобы получить цвет пикселя изображения 200×200. kCAFilterNearest обеспечит вам лучшую производительность за счет качества изображения (один пиксель из изображения 400×400 выбран для получения цвета для пикселя изображения 200×200).

kCAFilterTrilinear этого вы можете экспериментировать с использованием kCAFilterTrilinear , что должно улучшить качество изображения за счет некоторой производительности. Документация не дает понять, какие устройства на самом деле оказывают влияние, хотя этот парень успешно использовал его на iPad 2, что заставляет меня думать, что он может поддерживаться на всех устройствах сейчас. В документации также указано, что ваше изображение может иметь размеры 2, чтобы это повлияло.

Представление

Вы можете масштабировать изображение с 200×200, возможно, в качестве оптимизации производительности, чтобы экономить память и время рендеринга CoreAnimation (включая масштабирование изображения), но я бы этого не сделал, если у вас нет оснований полагать, что производительность вашего приложения действительно выиграет от этого.

  • Как заморозить быстрое приложение в Xcode7
  • Селектор UISwipeGestureRecognizer не вызывается. Любая идея почему?
  • Изменить размер правого прямоугольника в подборщике изображений iOS
  • Как увеличить UIScrollview Inner Imageview в iOS?
  • Прозрачный фон для UITextView
  • Как изменить размер UIImageView после соотношения AspectFit
  • Как показать индикатор выполнения загрузки изображения в IOS SDK
  • Как быстро отображать изображение в форме бриллианта?
  • DrawText на изображении с текстом Настройка размера изображения
  • Как преобразовать массив байтов в строку base64 в swift?
  • Преобразование UIPinchGestureRecognizer без изменения размера из центра
  • Interesting Posts

    Переменная не передана в UIView

    CompileIntermediate занимает от 0,2 до 3 секунд или более для возврата (тот же шейдер / случай). Зачем? (IMGSGX543GLDriver на iOS 7)

    Swift 3 как переопределить тихий режим и воспроизвести аудио с фона

    webview перекрывается со строкой состояния только при первой загрузке

    Управление объектом, вращающимся вокруг сферы

    iOS: как проверить, отменен ли пользователь Google+

    Как добавить проект в подрывную деятельность с помощью Xcode 7 и изменить параметры пользователя

    Как определить, если пользователь отклоняет межстраничное объявление iAd

    Автоматическая возобновляемая подписка и незапланированные IAP

    Невозможно выбрать ячейки в UITableView (subview)

    iOS – Как передать информацию из VIEW в контроллер?

    iPhone 6 плюс реальное устройство UIScreen mainScreen size странный

    UITableview загружает данные из Firebase и дубликатов строк

    Скрипт автоматизации пользовательского интерфейса iOS для запуска на устройстве

    boundingRectWithSize: не учитывает настройки lineBreakMode

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