如何让 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 以较低的分辨率拍照?的主要内容,如果未能解决你的问题,请参考以下文章

Jfreechart柱状图如何让变成纯色

android中如何让文字环绕图片

如何让GridView 标题居中

请教如何让UIActivityIndicatorView永远居中

如何让ActionBar标题居中

EBS如何让从值集不显示