我们的iOS 6应用程序(通常由商业用户在iPod Touch4代上运行,尽管有时也会在其他iOS设备上运行)具有通过UIImagePickerController实现的拍照功能。
有时,在某些照明条件下使用该应用程序拍摄的照片对比度太高,照片中明亮部分的细节会被冲淡。图片很少会因为对比度太低而无法阅读。所以我们想要“调低”应用程序中所有照片的对比度。
显然,我们可以在事后应用图像过滤来调整对比度,但如果图像太过模糊,以至于没有足够的细节,那么以后的调整对我们没有帮助。
在iOS 6中拍摄照片时,有没有办法以编程方式控制亮度和对比度?
发布于 2013-03-05 15:26:59
你可以添加showsCameraControls方法来显示相机控件,这将包括调整控制亮度/对比度等。让用户决定他需要什么。
来自苹果公司的Documentation
showsCameraControls指示图像拾取器是否显示默认相机控件。
@property (非原子) BOOL showsCameraControls讨论此属性的默认值为YES,指定默认相机控件在选取器中可见。如果要使用cameraOverlayView特性提供自定义覆盖视图,请将其设置为NO以隐藏默认控件。
备注:在iOS 3.1.3及更早版本中,隐藏默认相机控件会限制您只能拍摄静态照片,而不管设备上是否提供电影捕捉功能。如果将此属性设置为NO并提供自己的自定义控件,则可以在关闭图像选取器界面之前拍摄多张照片。但是,如果将此属性设置为YES,则在用户拍摄一张照片或取消操作后,您的代理必须关闭图像选取器界面。
仅当图像选取器的源类型设置为UIImagePickerControllerSourceTypeCamera时,才能访问此属性。尝试访问其他源类型的此属性会导致引发NSInvalidArgumentException异常。根据指定给mediaTypes属性的值,默认控件将显示静止摄影机或影片摄影机界面,或者显示允许用户选择选取器界面的选择控件。
https://stackoverflow.com/questions/15216909
复制相似问题