在iOS照片中调整对比度

时间:2013-03-05 06:05:01

标签: ios ios6 photo

我们的iOS 6应用程序(通常由第四代iPod Touch上的商业用户运行,虽然有时在其他iOS设备上运行)具有通过UIImagePickerController实现的拍照功能。

有时在某些光线条件下使用应用程序拍摄的照片对比度太高,细节会在照片的明亮部分消失。图片很少对比度太低,无法读取。所以我们想要“调低”应用程序中拍摄的所有照片的对比度。

显然我们可以在事后应用图像过滤来调整对比度,但是如果图像被淘汰以至于存在不足的细节,则稍后进行调整对我们没有帮助。

在iOS 6中拍摄照片时,有没有办法以编程方式控制亮度和对比度?

1 个答案:

答案 0 :(得分:0)

您可以添加showsCameraControls方法来显示相机控件,其中包括用于控制亮度/对比度等的调整。让用户决定他需要什么。

来自苹果的Documentation

showsCameraControls 指示图像选择器是否显示默认的摄像机控件。

@property(nonatomic)BOOL showsCameraControls 讨论 此属性的默认值为YES,指定默认摄像机控件在选取器中可见。如果要使用cameraOverlayView属性提供自定义叠加视图,请将其设置为NO以隐藏默认控件。

注意:在iOS 3.1.3及更早版本中,隐藏默认摄像头控件会限制您仅拍摄静态图片,无论设备上是否有可用的电影捕捉。 如果将此属性设置为NO并提供自己的自定义控件,则可以在取消图像选择器界面之前拍摄多张图片。但是,如果将此属性设置为YES,则在用户拍摄一张照片或取消操作后,您的代理人必须关闭图像选择器界面。

仅当图像选择器的源类型设置为UIImagePickerControllerSourceTypeCamera时,才能访问此属性。尝试为其他源类型访问此属性会导致抛出NSInvalidArgumentException异常。根据您分配给mediaTypes属性的值,默认控件显示静态相机或电影摄影机界面,或者允许用户选择选取器界面的选择控件。