2013-03-05 47 views
0

我們的iOS 6應用程序(通常由iPod touch第4代上的商業用戶運行,但有時在其他iOS設備上運行)應用程序通過UIImagePickerController實現了拍照功能。在iOS照片中調整對比度

有時在某些照明條件下使用應用程序拍攝的照片太高對比度,並且照片的明亮部分中的細節被清除。圖片很少對比度太低而難以閱讀。所以我們想要「調低」應用中拍攝的所有照片的對比度。

很明顯,我們可以事後應用圖像過濾來調整對比度,但如果圖像太髒,以至於細節不夠詳細,稍後調整將無濟於事。

在iOS 6拍攝照片時,是否可以通過程序控制亮度和對比度?

+0

如果您可以在預覽和捕獲過程中對照片進行實時過濾,那麼我可以提供以下幫助:https://github.com/BradLarson/GPUImage(特別是GPUImageExposureFilter,GPUImageContrastFilter和GPUImageBrightnessFilter過濾器,但其他人可能會有用)。但是,這聽起來像你可能需要調整相機本身的曝光,因爲它捕捉。 – 2013-03-05 23:25:27

回答

0

您可以添加showsCameraControls方法來顯示相機控制,其中包括控制亮度/對比度等的調整。讓用戶決定他需要什麼。

從蘋果

showsCameraControls 的Documentation指示圖像拾取器是否顯示默認相機控制。

@property(nonatomic)BOOL showsCameraControls 討論 此屬性的默認值爲YES,它指定默認攝像機控件在選取器中可見。如果您想使用cameraOverlayView屬性提供自定義疊加視圖,請將其設置爲NO以隱藏默認控件。

注意:在iOS 3.1.3及更早版本中,無論設備上是否有動畫捕捉,隱藏默認攝像頭控件都會限制您僅拍攝靜止圖片。 如果您將此屬性設置爲NO並提供您自己的自定義控件,則可以在解除圖像選擇器界面之前拍攝多張照片。但是,如果將此屬性設置爲YES,則在用戶拍攝一張照片或取消操作後,您的委託人必須關閉圖像選取器界面。

只有當圖像選擇器的源類型設置爲UIImagePickerControllerSourceTypeCamera時,才能訪問此屬性。試圖爲其他源類型訪問此屬性會導致拋出一個NSInvalidArgumentException異常。根據您分配給mediaTypes屬性的值,默認控件顯示靜止照相機或攝像機界面,或者選擇控件,讓用戶選擇選擇器界面。