我正在使用AV Foundation拍照應用程序。用戶拍攝照片後,我把我的主層的子層的內容屬性設置爲所拍攝的照片又名爲imageData:使用AV基金會拍攝圖像的方向是錯誤的
subLayer.contents = (id)[UIImage imageWithData:imageData].CGImage;
這一切都完美的作品和照片不會在屏幕上顯示。
唯一的問題是照片顯示旋轉90度。
任何想法如何正確顯示照片而不是旋轉?
這裏是照片時,用戶被捕獲它的外觀:
但後來這裏是它的外觀,當我將其顯示爲子層:
您能否提供一些示例代碼:「自己旋轉CGImage(使用各種CG函數)」?我一直在嘗試過去的20分鐘,卻無法讓它改變它的方向。 – user3117509
說到Core Graphics,大概有一百萬種方法可以讓貓變皮。基本上你應該從原始UIImage獲取方向,使用CGAffineTransformMakeRotation進行變換以正確旋轉它,創建位圖上下文,應用變換並保存上下文。旋轉與縮放並行,因此如果需要縮放,也可以使用變換。您也可以從原始圖像中獲取CIImage,應用一些CIFilter進行旋轉和縮放,並從中獲取新的CGImage。這很簡單,但不重要 - 請檢查文檔! – greymouser
感謝您的詳細回覆。我最終在這裏使用這個解決方案:http://stackoverflow.com/a/10548409/3117509 ...現在唯一的問題是圖像被拉伸和扭曲。我正在使用AVCaptureVideoPreviewLayer,並將其設置爲僅佔用一半的屏幕。相機是否可能拍攝整個屏幕而不是一半? – user3117509