2014-04-14 52 views
0

我用下面的代碼來檢查,但它不工作的風景..總是返回畫像甚至在景觀如何檢測,如果圖像是從UIImagePicker

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{ 

    //dismiss imagepicker controller 
    [self dismissViewControllerAnimated:NO completion:nil]; 

    fishingSpotChosenImage = [info objectForKey:UIImagePickerControllerOriginalImage]; 

    if (fishingSpotChosenImage.imageOrientation == UIImageOrientationUp) { 
     NSLog(@"portrait"); 
    } else if (fishingSpotChosenImage.imageOrientation == UIImageOrientationLeft || fishingSpotChosenImage.imageOrientation == UIImageOrientationRight) { 
     NSLog(@"landscape"); 
    } 
    } 

林拍攝的圖像假設這是行不通的因爲圖像實際上是在選擇肖像時如何檢測圖像是否具有像下面圖像一樣的黑色條紋。enter image description here

回答

4

是的,在這種情況下,您的「風景」圖像方向仍然是「UP」是正確的。

如果您只關心具有相機4:3或3:4長方形長寬比的圖像,也許您可​​以將圖像寬度與圖像高度進行比較,以查看它是寬於高還是反之亦然使用UIImage的大小的屬性,前。

if (fishingSpotChosenImage.size.height > fishingSpotChosenImage.size.width) { 
    NSLog(@"portrait"); 
} else { 
    NSLog(@"landscape"); 
} 
+0

所以很明顯,但沒有想到它。謝謝! – 4GetFullOf