我的目标是用来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()
我四处寻找,但找不到一种不同的、更有效的方法。谁能帮我克服这个性能问题?谢谢