0

我们的 iOS 6 应用程序(通常由商业用户在第 4 代 iPod Touch 上运行,尽管有时也可以在其他 iOS 设备上运行)具有通过UIImagePickerController.

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

显然,我们可以在事后应用图像过滤来调整对比度,但如果图像太褪色以至于细节不足,那么稍后进行调整将无济于事。

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

4

1 回答 1

0

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

来自苹果的文档

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

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

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

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

于 2013-03-05T07:26:59.220 回答