Я бы сказал, нет.
Лучшим вариантом для улучшения качества изображения во всех штатах (без изменения масштаба) было бы масштабирование исходного изображения до размера на полпути между вашими самыми большими и наименьшими размерами на экране. Это приведет к наименьшему масштабированию изображения с помощью графического процессора.
Кроме этого, просто изменить масштаб изображения всякий раз, когда вы подаете преобразование к представлению по:
+ (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {
//UIGraphicsBeginImageContext(newSize);
// In next line, pass 0.0 to use the current device's pixel scaling factor (and thus account for Retina resolution).
// Pass 1.0 to force exact pixel size.
UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
Вам может понадобиться беспокоиться о соотношении сторон, но это совершенно другой вопрос.
Это то, что я делаю, хотя я надеялся, что есть лучшее решение. Благодарю. – Jordan
Лучшее решение для чего? UI гладкость, управление памятью и т. Д.?? – Putz1103
Решение, в котором мне не нужно повторно перерисовывать изображение несколько раз на щепотку. Просто перерисовывая один раз, когда я ущемляюсь от полного экрана до крошечного миниатюры, потенциально может быть пикселирован. У меня были разные пороговые значения для перерисовки. – Jordan