2012-07-30 11 views
5

मैंने पहले इसी तरह के प्रश्न पूछे हैं, लेकिन एक निश्चित उत्तर प्राप्त नहीं हुआ है। ऐसा लगता है कि सीधे पढ़ने वाली बिट्स से निपटने के बिना, छवि को स्मृति में लोड किए बिना छवि में मेटाडेटा को जोड़ने/संशोधित करने का एक तरीका होना चाहिए।छवि लोड किए बिना, फाइल सिस्टम पर मौजूदा छवि के लिए EXIF ​​डेटा कैसे लिखें या संशोधित करें?

CMSampleBufferRef एस का उपयोग करते समय तरीकों की तरह लगता है, लेकिन मुझे डिस्क पर सहेजी गई नियमित छवि के साथ ऐसा करने में सक्षम होना चाहिए।
उदाहरण के लिए, png/Documents/photo.png पर बहुत बड़ा दिया गया है, मैं उस छवि को लोड किए बिना अपने exif मेटाडेटा को संशोधित करना चाहता हूं।

+1

संबंधित: [क्या jpeg मार्कर डेटा को जगह में संपादित करने का कोई आसान तरीका है?] (Http://stackoverflow.com/q/10508410/85950) – blahdiblah

+1

चूंकि @ एच 2CO3 ने आपको शायद एकमात्र समाधान प्रदान किया है जिसका आप उपयोग कर सकते हैं (मेरे पास एक नहीं था), कृपया उसका जवाब स्वीकार करें। –

+0

कृपया यह भी ध्यान दें कि यदि आप कोई उत्तर स्वीकार नहीं करते हैं, तो आपको अभी भी बक्षीस का मूल्य वापस नहीं मिलेगा। इसलिए यदि आप उत्तर में से किसी एक को स्वीकार करते हैं तो यह केवल उत्तरदाताओं में से एक के लिए लाभ होगा। :) –

उत्तर

9

आप libexif का उपयोग कर सकते हैं - मुझे पहले आईओएस के लिए इसे संकलित करने में सफलता मिली है। Libexif के साथ, आप किसी भी छवि के EXIF ​​मेटाडेटा को संशोधित कर सकते हैं।

+0

निश्चित रूप से, लेकिन क्या यह ढांचा छवि को स्मृति में पहले लोड करता है? – akaru

+0

पूरी छवि नहीं, लेकिन EXIF ​​मेटाडेटा। –

+0

यह अच्छा है। क्या आप libexif के साथ इस तरह के उपयोग का एक उदाहरण प्रदान कर सकते हैं? यानी मेटाडेटा लोड करना और उसे फ़ाइल में वापस लिखना। – akaru

0

यदि आप EXIF ​​को संशोधित करने के बारे में जानते हैं, तो आप फ़ाइल से सीधे बाइनरी डेटा को संशोधित कर सकते हैं। बस छवि में बाइनरी हिस्से को नए के साथ प्रतिस्थापित करें। मुझे नहीं पता कि उद्देश्य-सी इसे अनुमति देता है, लेकिन ansi c में सरल होना चाहिए। जटिल हिस्सा बदलने के लिए सटीक भाग की पहचान करना है।

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