2012-09-10 18 views
7

ऐप में जो मैं विकसित कर रहा हूं, मैं एक ऐसी छवि का उपयोग कर रहा हूं जिसे उपयोगकर्ता अपने फोटो एलबम से चुनता है। मुझे अपने सर्वर पर उस फोटो का एक हाय-रेज संस्करण अपलोड करने की आवश्यकता है।UIImagePickerControllerOriginalImage बनाम मूल संपत्ति डेटा

मैं imagePickerController और मैं उपयोग कर रहा हूँ निर्धारित किया है कि मैं (UIImagePickerControllerReferenceURL और ALAssetsLibrary assetForURL का उपयोग करके UIImagePickerControllerOriginalImage

  • मूल संपत्ति पाने से 2 विकल्प

    • उपयोग UIImage है मुझे यह पसंद नहीं है क्योंकि यह अपने वर्तमान स्थान है, जो मैं की जरूरत नहीं है)

    मेरा प्रश्न है उपयोग करने के लिए उपयोगकर्ता को संकेत देता ... क्या छवि की गुणवत्ता में कोई अंतर है यदि मैं पहले विकल्प बनाम दूसरे विकल्प का उपयोग करता हूं?

    -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{ 
    
        //option 1 
          UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; 
          NSData *imgData = UIImagePNGRepresentation(image); 
    
        // option 2 (will prompt user to allow use of current location) 
          NSURL *imgURL = [info objectForKey:@"UIImagePickerControllerReferenceURL"]; 
          __block NSData* imgData; 
    
          ALAssetsLibrary *assetLibrary=[[ALAssetsLibrary alloc] init]; 
    
          [assetLibrary assetForURL:img resultBlock:^(ALAsset *asset) 
          { 
           ALAssetRepresentation *rep = [asset defaultRepresentation]; 
           Byte *buffer = (Byte*)malloc(rep.size); 
           NSUInteger buffered = [rep getBytes:buffer fromOffset:0.0 length:rep.size error:nil]; 
           imgData = [NSData dataWithBytesNoCopy:buffer length:buffered freeWhenDone:YES]; 
          } 
             failureBlock:^(NSError *err) { 
              NSLog(@"Error: %@",[err localizedDescription]); 
             }]; 
         } 
    
  • +0

    मैं विकल्प 2 का उपयोग कर रहा स्थान अनुमति के बिना और यह है कि एक छवि प्राप्त करने में सक्षम है। (मैं अभी भी पूरी लाइब्रेरी तक पहुंचने के लिए एलासेट्स लाइब्रेरी का उपयोग नहीं कर सकता।) यह आईओएस 5 और आईओएस 6 पर काम कर रहा है। –

    उत्तर

    13

    मैंने दोनों विकल्पों का उपयोग करके छवियों की तुलना में एक परीक्षण की तुलना की। विकल्प 1 का उपयोग करके, छवि दो गुना बड़ी थी (4.22 एमबी बनाम 2.04 एमबी)। फ़ोटोशॉप में फोटो देखकर, गुणवत्ता में कोई बड़ा अंतर नहीं लग रहा था। स्तरों को देखते समय, विकल्प 1 द्वारा बनाया गया एक चिकना (नीचे छवि) नहीं था। फाइल गुणों को देखते समय, विकल्प 1 द्वारा बनाए गए किसी को कुछ "मूल", "कैमरा" और "उन्नत फोटो" विकल्प याद आ रहे थे जिन्हें विकल्प 2 द्वारा बनाई गई फ़ाइल थी। मैंने तय नहीं किया है कि मैं किस तरह से उपयोग करने जा रहा हूं लेकिन उम्मीद है कि यह जानकारी किसी और की मदद करेगी!

    levels in Photoshop

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