Моя цель - использовать AVFoundation
для захвата и отображения (с использованием наложения) захваченного изображения - оно должно быть идентичным изображению в слое предварительного просмотра.
Работать с размером экрана iPhone 4" удобно, так как это просто изменение размера захваченного изображения. Однако работа с размером экрана iPhone 3,5" оказывается более сложной - требуется изменение размера и кадрирование.
Хотя у меня есть код, который работает для обоих положений камеры (спереди и сзади), код для изменения размера/обрезки изображения, снятого задней камерой, имеет некоторые проблемы с производительностью. Я сузил проблему производительности до более крупного контекста изображения при изменении размера изображения. Более крупный контекст изображения необходим для сохранения качества изображения «сетчатка», в то время как передняя камера настолько плоха, что снятое изображение в любом случае не имеет качества «сетчатки».
Рассматриваемый код:
UIGraphicsBeginImageContext(CGSizeMake(width, height))
// where: width = 640, height = 1138
// image dimensions = 1080 x 1920
image.drawInRect(CGRectMake(0, 0, width, height))
image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
Я искал вокруг, но не могу найти другой, более эффективный способ сделать это. Может ли кто-нибудь помочь мне преодолеть эту проблему с производительностью? Спасибо