वर्तमान में मोनो टच के माध्यम से आईफोन विकास के साथ अपना पहला कदम कर रहा हूं, मैं UIImage
के साथ खेल रहा हूं जिसे मैंने फोटो लाइब्रेरी से पढ़ा है।पता लगाएं कि यूआईएममेज पीएनजी या जेपीईजी है या नहीं?
जो मैं प्राप्त करना चाहता हूं वह छवि के कच्चे बाइट सरणी (byte[]
) प्राप्त करना है।
मुझे पता है कि मोनो टच में UIImageJPEGRepresentation
और UIImagePNGRepresentation
रैपर हैं। मैं यह भी जानता हूं कि उनका उपयोग कैसे करें। मुझे नहीं पता कि:
मैं कैसे निर्णय ले सकता हूं कि इनमें से कौन से फ़ंक्शन कॉल करें?
आईई। यदि मूल छवि एक जेपीईजी छवि है, तो मैं इसे पीएनजी के रूप में नहीं बल्कि एक जेपीईजी के रूप में भी प्राप्त करना चाहता हूं, और इसके विपरीत।
क्या ऐसा करने का कोई तरीका है, या क्या मुझे इस पर कुछ बिंदु याद आ रही है?
धन्यवाद, @bryanmac मूल रूप से मैं फोटो लाइब्रेरी से एक छवि का चयन करें और इसे अपलोड करने के लिए एक छोटा सा उपकरण लिख रहा हूँ एक वेब सेवा के माध्यम से। तो मैं छवि का निर्माण नहीं कर रहा हूं, लेकिन बस इसे "उपभोग" कर रहा हूं। हो सकता है कि मैं 'FinishedPickingImage' ओवरराइड के' NSDictionary संपादनInfo' पैरामीटर में कहीं कच्चे बाइट्स प्राप्त कर सकूं? –
तो, अगर मैं समझ गया हूं, तो यह वास्तव में कोई फर्क नहीं पड़ता कि तस्वीर मूल रूप से पीएनजी या जेपीईजी के रूप में अपलोड की गई थी ... एक बार जब आप UIImage प्राप्त करते हैं तो आप इसे दोनों प्रारूपों में परिवर्तित कर सकते हैं? – Fustigador
यदि कोई अल्फा चैनल है, तो आप जानना चाहते हैं कि किस का उपयोग करना है। मैंने एक जेपीईजी लिया और फिर इसे प्रदर्शित करने के लिए यूईमेज का इस्तेमाल किया और फिर इसे स्थानीय डेटा बेस में सेव किया, मैंने पीछे की ओर देखा है कि मुझे इसे डिस्क पर सहेजा जाना चाहिए था, जिसे मैंने UIImagePNGRepresentation के बजाय UIImagePNGRepresentation का उपयोग किया था और बाद में इसे पुनर्स्थापित करने का प्रयास किया था और यह है नतीजा http://imgur.com/2yG3Zv2 जैसा कि आप देख सकते हैं पारदर्शिता गड़बड़ हो जाती है। जैसा कि मैंने कहा था कि मुझे शायद इसे सिर्फ एचडीडी में सहेजा जाना चाहिए और पथ को संग्रहित करना चाहिए लेकिन बिंदु यह है कि कुछ मामलों में इससे कोई फर्क नहीं पड़ता कि आप किस कार्य का उपयोग करते हैं। – Biclops