如何让 AVCaptureSessionpresetPhoto 以较低的分辨率拍照?
Posted
技术标签:
【中文标题】如何让 AVCaptureSessionpresetPhoto 以较低的分辨率拍照?【英文标题】:How can I make AVCaptureSessionpresetPhoto take pictures at a lower resolution? 【发布时间】:2013-06-25 19:01:43 【问题描述】:我目前正在使用 AVCaptureSessionpresetPhoto 拍摄我的照片,并且我正在向它们添加过滤器。问题是分辨率太大了,以至于我到处都是内存警告。图片只是放大处理的方式。它每次都会使我的应用程序崩溃。无论如何我可以指定拍摄的分辨率吗?
编辑**
Instagram 或 Facebook 相机应用等摄影应用可以毫无问题地做到这一点。这些应用程序可以以高分辨率拍摄照片,按比例缩小并立即处理它们。我做了一个比较检查,与其他应用程序拍摄的照片相比,原生 ios 相机保持了更高质量的分辨率。移动平台实际上并不需要极高的质量水平,因此似乎这些图像是以较低的分辨率拍摄的,以允许更快的处理和更快的上传时间。因此,必须有一种方法可以以较低的分辨率进行拍摄。如果有人对此问题有解决方案,将不胜感激!
【问题讨论】:
使用另一个 AVCaptureSessionPreset 怎么样? 你推荐哪个@KhanhNguyen? 例如AVCaptureSessionPreset1280x720
,只需输入“AVCaptureSessionPreset”,XCode 就会建议您可能的值。
【参考方案1】:
您需要在使用AVCaptureSession
捕获图像后重新调整图像大小并在调整大小后存储它的图像。
你在 StackOverlow 中发现了很多类似的问题,我只是在下面放了一些链接来帮助你。
还有一件事我的建议是使用SDWebImage 异步显示图像,因为应用程序运行顺利。在 iOS 中还有一些其他方式(例如Grand Central Dispatch (GCD) Reference、NSOperationQueue 等)用于异步 Tast
调整图片大小:-
How to resize an image in iOS?
UIImage resizing not working properly
How to ReSize Image with Good Quality in iPhone
How to resize the image programmatically in objective-c in iphone
【讨论】:
以上是关于如何让 AVCaptureSessionpresetPhoto 以较低的分辨率拍照?的主要内容,如果未能解决你的问题,请参考以下文章