我知道很多人都問過這個問題,但是我找不到一些正確的答案來解決這個問題,我的問題是:如何在預覽視圖(後用戶點擊捕捉按鈕,然後去預覽視圖,讓用戶預覽)不鏡像,可以在UIImagePickerController,我知道如何旋轉照片,在枚舉UIImageOrientation
像UIImageOrientationUp
,我知道這是什麼意思。
UIImagePickerController前置攝像頭在預覽視圖中顯示鏡像
嘗試1:
我顧不上讓使用者開關拍攝後照片按鈕之前去預覽查看和使用,我有鏡子覆蓋默認照片的照片(使用cameraOverlayView
) ,我可以檢測到用戶點擊捕獲按鈕使用NSNotificationCenter
與@「_ UIImagePickerControllerUserDidCaptureItem」,但我找不到照片的方式。
嘗試2:
我使用cameraViewTransform
,但是當用戶拍照(前置攝像頭)時在底部或頂部,在預覽視圖的圖像主頁按鈕不是鏡,但是當Home
按鈕在左側或右側,手機上的圖像在用戶點擊捕獲之前有一些問題,但預覽視圖上的圖像不是鏡像。使用AVCaptureDeviceDidStartRunningNotification
通知。
- (void)cameraChanged:(NSNotification *)notification
{
if(self.imagePickerController.cameraDevice == UIImagePickerControllerCameraDeviceFront)
{
self.imagePickerController.cameraViewTransform = CGAffineTransformIdentity;
self.imagePickerController.cameraViewTransform = CGAffineTransformScale(self.imagePickerController.cameraViewTransform, -1, 1);
if (self.imagePickerController.cameraOverlayView) {
NSLog_DEBUG(@"self.imagePickerController.cameraOverlayView is not nil");
} else {
NSLog_DEBUG(@"self.imagePickerController.cameraOverlayView is nil");
}
self.imagePickerController.cameraOverlayView.transform = CGAffineTransformScale(self.imagePickerController.cameraViewTransform, -1, 1);
} else {
self.imagePickerController.cameraViewTransform = CGAffineTransformIdentity;
}
}