我的目标是使用
在iPhone 4英寸屏幕上工作很好,因为它只涉及调整捕获的图像大小。然而,在iPhone 3.5英寸屏幕上工作更加复杂,需要调整大小和裁剪。
虽然我已经有了适用于前置和后置摄像头的代码,但是对于后置摄像头拍摄的图像进行调整大小/裁剪的代码存在一些性能问题。我已经确定了性能问题是由于调整图像大小时所需的较大图像上下文引起的。需要较大的图像上下文以保持图像的“视网膜”质量,而前置摄像头的图像质量太差,无论如何都不是“视网膜”质量。
相关代码如下:
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()
我已经搜索了一下,但是无法找到其他更有效的方法来解决这个问题。有人能帮我克服这个性能问题吗?谢谢。