2013-05-29 36 views
0

我什麼也沒做,但設置了我的拍攝圖像分割成UIImageview爲什麼旋轉的UIImage的

  • 沒有額外的自定義設置
  • 沒有改造
  • 沒有調整大小,沒有

那麼,爲什麼我的圖像視圖返回旋轉的圖像。

我發現使用

UIImage* rotatedImage = [UIImage imageWithCGImage:image.CGImage 
           scale:1.0 
           orientation:UIImageOrientationRight]; 

現在,我得到原始圖像的解決方案。但是,我只是想知道automatic rotated image的原因。

注:發生這種情況,只有當畫面從凸輪拍攝,如果我們從圖庫中選擇圖片,然後它不會旋轉&看起來正確的。

任何幫助表示讚賞!

回答

0

這可能取決於額外「拍攝信息」最終被相機補充說。例如。如果您使用縱向模式(「垂直」)的iPhone拍攝圖片,則圖像仍然具有原始尺寸(2048x1536),但「方向」拍攝信息設置爲「旋轉90度」。可能UIImageView不會讀取拍攝信息並將圖像顯示爲「原始」,即旋轉(這是傳感器實際拍攝的圖像)。

考慮一下:如果您旋轉iPhone的物理傳感器也將被旋轉和iPhone「人爲」顯示圖像,爲您顯示正確。

您可以通過採取兩張照片與您的iPhone,在這兩個方向,然後將iPhone連接到Mac檢查並啓動「圖像捕捉」應用程序。您會看到兩張照片尺寸相同,但其中一張會垂直旋轉。您可以使用預覽來檢查拍攝信息。

就「從畫廊拍攝的照片」而言,我的猜測是畫廊會爲您定向,並且不會將原始圖像返回給您,而是應用方向後的圖像(完全如您在碼)。

+0

感謝您的解釋。我使用portrait和lanscape模式拍攝了一張照片。但它返回相同的結果。這是旋轉的圖像。肖像模式返回UIImageOrientationLeft而景觀返回UIImageOrientationRightMirrored。 :( –

+0

正確的鏡像定向聽起來很奇怪。你使用iPhone的iOS照片的相機捕捉到它?你操縱它使用內置的照片應用程序?(如農作物或其他)。 – viggio24

+0

我使用內部照片的應用程序捕獲的,與原來使用形象,沒有收穫任何東西 –