2011-02-03 25 views
8

मैं आईफोन/आईपैड लाइब्रेरी से फोटो लोड करता हूं, उनमें से अधिकांश पोर्ट्रेट मोड में, मैं जानना चाहता हूं कि मैं लैंडस्केप या पोर्ट्रेट मोड में फोटो कैसे देख सकता हूं?लैंडस्केप या पोर्ट्रेट मोड में फोटो कैसे जानना है?

+0

आप डिवाइस का या तस्वीर के उन्मुखीकरण को पता करना चाहते हैं ऐसा करने का एक मूर्ख सबूत तरीका है? आप वीरन के उत्तर के साथ वर्तमान डिवाइस अभिविन्यास प्राप्त कर सकते हैं। अन्यथा, तस्वीर की ऊंचाई और चौड़ाई की तुलना इसकी पहलू अनुपात प्राप्त करें। लेकिन वास्तविक अभिविन्यास जानने का कोई तरीका नहीं होगा। – jakev

उत्तर

12

UIImage उदाहरणों की संपत्ति का उपयोग करें। यह आपको these स्थिरांक में से एक को वापस करने जा रहा है।

उदाहरण:

UIImage * image = // पुस्तकालय से भरी हुई

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

इससे मुझे एल्बम चयन के साथ शुरुआत करने में मदद मिली और मैं फोटो लेने के लिए कुछ पूरक जानकारी जोड़ना चाहता हूं, जिसे मुझे नहीं पता था कि 2 पूरी तरह से अलग चीज़ें थीं! जब कोई उपयोगकर्ता आईफोन के कैमरे के साथ स्नैपशॉट लेता है, तो छवि सीधे नहीं है लेकिन वास्तव में 90 डिग्री घुमावदार घुमावदार है। तो यदि आप 'एनएसएलओजी (@ "पोर्ट्रेट") के लिए 'if' ब्लॉक में समाप्त होना चाहते हैं, तो आप' UIImageOrientationLeft || के लिए परीक्षण करेंगे। UIImageOrientationRight || UIImageOrientationLeftMirrored || UIImageOrientationRightMirrored' और शेष 'परिदृश्य' होगा – pulkitsinghal

1

मैं iPhone 4 आईओएस 5.0 चला पर वास्तविक चित्र के दसियों पर कोड के इस टुकड़े का परीक्षण किया और उन्हें सफलतापूर्वक बनाने के लिए कर रहा था सभी पोर्ट्रेट मोड में। यह आप कैसे तय/चेक

if (image.imageOrientation == UIImageOrientationUp || 
     image.imageOrientation == UIImageOrientationDown) 
    { 
     NSLog(@"Image is in Landscape Fix it to portrait ...."); 

     backgroundView.frame = self.view.bounds; 
     backgroundView.autoresizingMask=UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight; 
     backgroundView.contentMode = UIViewContentModeScaleAspectFill; 
    } 
    else 
    { 
     NSLog(@"Image is in Portrait everything is fine ..."); 
    } 

यहाँ इस चेक

-(void)imagePickerController:(UIImagePickerController *)picker 
     didFinishPickingImage : (UIImage *)image 
       editingInfo:(NSDictionary *)editingInfo 
{ 

    // Get the data for the image 
    NSData* imageData = UIImageJPEGRepresentation(image, 1.0); 




    if ([UIImage imageWithData:imageData].size.width > [UIImage imageWithData:imageData].size.height) 
    { 
     NSLog(@"Select Image is in Landscape Mode ...."); 

    } 
    else 
    { 
     NSLog(@"Select Image is in Portrait Mode ..."); 

    } 
} 
संबंधित मुद्दे