Ответ 1
Вам нужно будет установить свойство magnificationFilter на уровне представления для фильтра ближайшего соседа:
[[view layer] setMagnificationFilter:kCAFilterNearest]
У меня есть небольшое приложение IPhone, над которым я работаю, и я показываю изображение с UIImageView. Я масштабирую его, используя режим Aspect Fit. Я хотел бы, чтобы изображение масштабировалось без интерполяции/сглаживания (я хочу, чтобы он выглядел пиксельно). Есть ли способ изменить это поведение?
Чуть более общий вопрос заключается в том, можно ли реализовать собственный алгоритм масштабирования или есть другие встроенные, которые я могу выбрать?
Вам нужно будет установить свойство magnificationFilter на уровне представления для фильтра ближайшего соседа:
[[view layer] setMagnificationFilter:kCAFilterNearest]
Убедитесь, что вы включили строку
#import <QuartzCore/CALayer.h>
В верхней части файла, содержащего вызов setMagnificationFilter, или он не будет компилироваться.
imageView.layer.magnificationFilter = kCAFilterNearest
imageView.layer.shouldRasterize = true
Есть два способа сделать это. Вы можете либо реализовать масштабирующийся алгоритм без интерполяции. Если вам нужно много работать, вы можете перемасштабировать изображение в другом приложении, например gimp или photoshop. Это будет работать, если вам не потребуется динамически изменять размер вашего приложения.