2012-10-19 16 views
5

मैं UIImage से यूआरएल कैसे प्राप्त कर सकता हूं? मुझे आईफोन लाइब्रेरी से एक छवि मिली है और मैं इसका आकार बदलता हूं और मैं नई छवि को सहेजना नहीं चाहता लेकिन मैं इसे यूआरएल प्राप्त करना चाहता हूं।UIImage से यूआरएल कैसे प्राप्त करें

+0

आपको शायद अपनी इच्छा के अनुसार थोड़ा सा विस्तार करना होगा, क्या आप छवि के लिए एक नया रास्ता, छवि के लिए पुराना पथ, या कुछ और पूछ रहे हैं। यूआईएममेज से जुड़ा एकमात्र यूआरएल एक फाइल सिस्टम यूआरएल है जो डिस्क पर मौजूद है, यह इंगित करता है। – Bergasms

+0

मुझे नई छवि –

उत्तर

6

UIImage में कोई यूआरएल या फ़ाइल जानकारी नहीं है। यह सिर्फ पिक्सेल रंग डेटा का प्रतिनिधित्व करने वाले बाइट्स का संग्रह है। यदि आपको UIImagePicker से UIImage मिलता है तो आप संपत्ति लाइब्रेरी में मूल छवि का URL प्राप्त कर सकते हैं। लेकिन आपको यह यूआरएल छवि पिकर प्रतिनिधि विधि में प्राप्त करना होगा और आपको इसे UIImage ऑब्जेक्ट से अलग से ट्रैक रखना होगा।

ओपी की टिप्पणी के आधार पर संपादित करें, यह अनुरोध की जा रही जानकारी नहीं है।

+1

का यूआरएल चाहिए, इसलिए यदि मैं यूआरएल प्राप्त करना चाहता हूं तो मुझे इसे कहीं सेव करना होगा और फिर मुझे यूआरएल मिल सकता है? –

+0

आपका प्रश्न अभी भी बहुत अस्पष्ट है। आप किसी छवि के यूआरएल के बारे में बात कर रहे हैं जिसे संपादित या आकार बदल दिया गया है। यदि आप इसे यूआईएममेज के साथ कर रहे हैं, तो इस नई छवि के लिए कोई यूआरएल नहीं है। आपके पास बस स्मृति में एक छवि है। – rmaddy

+0

यदि छवि मौजूद है तो इसके साथ कुछ पथ होना चाहिए और इसलिए यूआरएल .. –

4

जो आप खोज रहे हैं वह UIImagePickerControllerReferenceURL पैरामीटर है जो जानकारी शब्दकोश में प्रतिनिधि कॉलबैक द्वारा प्रदान किया गया है। आपको क्या करने की जरूरत है:

NSURL* imageURL = [info objectForKey:UIImagePickerControllerReferenceURL]; 

और यह कुछ इस तरह दिखेगा:

assets-library://asset/asset.JPG?id=SOME_GUUID&ext=JPG 

आप एक ही छवि आप कॉलबैक में UIImage* में मिल गया के लिए वापस उल्लेख करने के लिए इस बाद इस्तेमाल कर सकते हैं।

0

आप UIImage को उपclass कर सकते हैं और एक ओवरराइड initWithURL बना सकते हैं: यूआरएल को किसी निर्मित संपत्ति में सहेजने के लिए ... इस तरह कुछ।

+ (id) initWithURL:(NSURL*)url 
{ 
    [super initWithURL:url]; 
    self.url = url; 
} 
9

आप कहते हैं कि आप इसे बचाने के लिए नहीं करना चाहते हैं, लेकिन अगर आप एक UIImage के लिए एक यूआरएल की जरूरत है, आप आसानी से यूआरएल है कि आप की जरूरत है पाने के लिए एक अस्थायी प्रतिलिपि बचा सकता है।

// Create a URL in the /tmp directory 
guard let imageURL = NSURL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent("TempImage.png") else { 
    return 
} 

// save image to URL 
do { 
    try UIImagePNGRepresentation(myImage)?.write(to: imageURL) 
} catch { } 

अब आप सामाजिक मीडिया या जो कुछ भी आप इसके साथ क्या करने की जरूरत करने के लिए छवि साझा करने के लिए URL का उपयोग कर सकते हैं।

here और देखें।

+1

जीवन बचाओ !!!!! – Pentarex

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