Exifinterface
नया अपडेट | रिलीज़ किया गया जांचा और परखा हुआ वर्शन | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
---|---|---|---|---|
29 जनवरी, 2025 | 1.3.7 | 1.4.0-rc01 | - | - |
डिपेंडेंसी का एलान करना
Exifinterface पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle
फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
ग्रूवी
dependencies { implementation "androidx.exifinterface:exifinterface:1.3.7" }
Kotlin
dependencies { implementation("androidx.exifinterface:exifinterface:1.3.7") }
डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.
सुझाव/राय दें या शिकायत करें
आपके सुझाव, शिकायत या राय से हमें Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या इस लाइब्रेरी को बेहतर बनाने के लिए आपके पास कोई सुझाव है, तो हमें बताएं. नई लाइब्रेरी बनाने से पहले, कृपया इस लाइब्रेरी में मौजूद मौजूदा समस्याओं पर एक नज़र डालें. किसी मौजूदा समस्या पर अपना वोट जोड़ने के लिए, स्टार बटन पर क्लिक करें.
ज़्यादा जानकारी के लिए, समस्या ट्रैकर का दस्तावेज़ देखें.
वर्शन 1.4
वर्शन 1.4.0-rc01
29 जनवरी, 2025
androidx.exifinterface:exifinterface:1.4.0-rc01
को बीटा01 के बाद से बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.4.0-rc01 में ये कमिट शामिल हैं.
वर्शन 1.4.0-beta01
15 जनवरी, 2025
androidx.exifinterface:exifinterface:1.4.0-beta01
रिलीज़ हो गया है. वर्शन 1.4.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- Exif डेटा में मौजूद टैग 700 के बजाय, फ़ाइल के किसी अलग सेगमेंट में मौजूद XMP डेटा को प्राथमिकता देने के लिए, HEIC XMP हैंडल करने की सुविधा को अपडेट करें.
गड़बड़ियां ठीक की गईं
saveAttributes()
को कॉल करने के बाद,ExifInterface.getThumbnail*()
के काम करने के तरीके को ठीक करें (पहले कॉल पूरा हो जाता था, लेकिन नतीजा गलत/अनजान होता था)- eXIf चंक में टैग 700 के बजाय, अलग iTXt XMP चंक को पढ़ने और लिखने के लिए, PNG XMP हैंडलिंग को ठीक करें.
WebP
इमेज फ़ाइलों को हैंडल करते समय, WebP फ़ॉर्मैट के अलावा किसी दूसरे फ़ॉर्मैट में मौजूद डेटा को हटाने पर, इमेज खराब होने की समस्या को ठीक किया गया. (b/385766064).
वर्शन 1.4.0-alpha01
13 नवंबर, 2024
androidx.exifinterface:exifinterface:1.4.0-alpha01
रिलीज़ हो गया है. वर्शन 1.4.0-alpha01 में ये कमिट शामिल हैं.
नई सुविधाएं
- HEIF इमेज से XMP डेटा पढ़ने की सुविधा जोड़ी गई.
- AVIF इमेज से Exif और XMP डेटा पढ़ने की सुविधा जोड़ी गई है.
एपीआई में हुए बदलाव
- बताएं कि
setGpsInfo
के लिएlocation
पैरामीटर@Nullable
है औरnull
पास करने पर कोई कार्रवाई नहीं होगी. (If924c, b/236484611)
गड़बड़ियां ठीक की गईं
- अमान्य IFD ऑफ़सेट (b/264729367) मिलने के बाद भी पार्स करना जारी रखें.
- ऐसी WebP इमेज को हैंडल करना जिनमें EXIF डेटा (b/281638358) से पहले, गलत तरीके से JPEG APP1 मार्कर शामिल है.
- पक्का करें कि अलग-अलग XMP सेगमेंट वाले JPEG में किए गए XMP बदलाव, TIFF/Exif टैग 700 में लिखे जाने के बजाय,
saveAttributes()
के ज़रिए उसी अलग-अलग XMP सेगमेंट में सेव किए जाएं. TIFF/Exif टैग 700, XMP स्पेसिफ़िकेशन के साथ काम नहीं करता और कई टूल में यह टैग नहीं दिखता. - सेव करते समय, TIFF की झलक दिखाने वाली डायरेक्ट्री में किसी अलग सेगमेंट के XMP डेटा को डुप्लीकेट करने से बचें (b/309843390).
- डबल से रैशनल कन्वर्ज़न को ज़्यादा सटीक बनाएं. (b/312680558).
- 'लेगसी' रेशियनल टैग के लिए,
setAttribute
में रेशियनल फ़ॉर्मैट (x/y) स्वीकार करें. ये टैग,getAttribute
(b/312680558) से वापस आने पर, अपने-आप दशमलव में बदल जाते हैं. - पक्का करें कि XMP स्पेसिफ़िकेशन के मुताबिक, किसी ऐसी JPEG इमेज में जोड़ा गया XMP डेटा, जो पहले से XMP डेटा नहीं है उसे अलग सेगमेंट में लिखा गया हो.
ExifInterface
को JPEG इमेज में Exif 700 टैग में XMP को प्राथमिकता देने के लिए दस्तावेज़ में दर्ज किया गया है (स्पेसिफ़िकेशन का उल्लंघन), ताकि मौजूदा XMP डेटा वाली इमेज को पढ़ने/लिखने के दौरान यह व्यवहार बरकरार रहे. - 8191 पिक्सल से ज़्यादा ऊंचाई या चौड़ाई वाली WebP इमेज लिखते समय, खराब आउटपुट को ठीक करें (b/342697059).
- यह लाइब्रेरी अब JSpecify nullness एनोटेशन का इस्तेमाल करती है, जो टाइप-इस्तेमाल के लिए हैं. Kotlin डेवलपर को सही तरीके से इस्तेमाल करने के लिए, कंपाइलर के इन आर्ग्युमेंट का इस्तेमाल करना चाहिए:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
(I5cd0f, b/326456246) - नए प्लैटफ़ॉर्म के एपीआई को मैन्युअल तरीके से ऐक्सेस करने की सुविधा हटा दी गई है. ऐसा इसलिए किया गया है, क्योंकि AGP 7.3 या इसके बाद के वर्शन (उदाहरण के लिए, R8 वर्शन 3.3) के साथ R8 का इस्तेमाल करने पर, एपीआई मॉडलिंग की मदद से यह अपने-आप हो जाता है. साथ ही, AGP 8.1 या इसके बाद के वर्शन (उदाहरण के लिए, D8 वर्शन 8.1) का इस्तेमाल करने पर, सभी बिल्ड के लिए यह अपने-आप हो जाता है. जिन क्लाइंट ने AGP का इस्तेमाल नहीं किया है उन्हें D8 के 8.1 या उसके बाद के वर्शन पर अपडेट करने का सुझाव दिया जाता है. ज़्यादा जानकारी के लिए यह लेख देखें. (If6b4c, b/345472586)
वर्शन 1.3.7
वर्शन 1.3.7
13 दिसंबर, 2023
androidx.exifinterface:exifinterface:1.3.7
रिलीज़ हो गया है. 1.3.7 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- बहुत बड़ा JPEG APP1 सेगमेंट लिखने की कोशिश करते समय,
ExifInterface.saveAttributes()
से एक अपवाद फेंकें (पहले हम गलत, काटी गई लंबाई वाले अमान्य APP1 सेगमेंट को लिखते थे:(b/263747161)). अमान्य IFD ऑफ़सेट मिलने के बाद भी पार्सिंग जारी रखना. पहले, पार्सिंग तुरंत रुक जाती थी, जिसकी वजह से गलत वैल्यू मिल सकती थीं: (b/264729367).
वर्शन 1.3.6
वर्शन 1.3.6
8 फ़रवरी, 2023
androidx.exifinterface:exifinterface:1.3.6
रिलीज़ हो गया है. 1.3.6 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- WebP VP8L चंक से अल्फा बिट पढ़ने की समस्या को ठीक किया गया (b/255405635).
वर्शन 1.3.5
वर्शन 1.3.5
24 अक्टूबर, 2022
androidx.exifinterface:exifinterface:1.3.5
रिलीज़ हो गया है. 1.3.5 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
saveAttributes()
की वजह से अमान्य WebP फ़ाइलें जनरेट होने की दो समस्याओं को ठीक किया गया.
वर्शन 1.3.4
वर्शन 1.3.4
5 अक्टूबर, 2022
androidx.exifinterface:exifinterface:1.3.4
रिलीज़ हो गया है. 1.3.4 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- DNG फ़ाइलों में एट्रिब्यूट सेव करने की सुविधा हटाएं. 1.3.3 में जोड़ी गई सहायता अधूरी थी और इससे करप्ट फ़ाइलें बनती थीं.
वर्शन 1.3.3
वर्शन 1.3.3
4 अगस्त, 2021
androidx.exifinterface:exifinterface:1.3.3
रिलीज़ हो गया है. 1.3.3 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- सबसेक्शन से जुड़े टैग को पार्स करने से जुड़ी समस्या को ठीक करना. (aosp/1508143)
- setDataSource को कॉल करते समय RuntimeException को रोकना. (c8e66e9)
- skipBytes को अनलिमिटेड लूप होने से रोकना. (fdbe88b)
- MediaMetadataRetriever से RuntimeException को कैच करें. (389b21a)
- DNG फ़ाइलों के लिए एट्रिब्यूट सेव करने की सुविधा जोड़ी गई है (3017dbc)
- थंबनेल वाले टैग के बजाय, थंबनेल के बिना वाले टैग का इस्तेमाल करें. (e1b916d)
वर्शन 1.3.2
वर्शन 1.3.2
2 दिसंबर, 2020
androidx.exifinterface:exifinterface:1.3.2
रिलीज़ हो गया है. 1.3.2 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
GPS_LATITUDE
औरGPS_LONGITUDE
के लिए,SRATIONAL
को अनुमति देता है.- DateTime टैग के सेकंडरी फ़ॉर्मैट (2020-01-01 00:00:00) को पढ़ने/लिखने की सुविधा जोड़ी गई है.
- saveAttribute() को कॉल करते समय, ओरिजनल फ़ाइल को कुछ समय के लिए हटाने से रोका गया.
वर्शन 1.3.1
वर्शन 1.3.1
14 अक्टूबर, 2020
androidx.exifinterface:exifinterface:1.3.1
रिलीज़ हो गया है. 1.3.1 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- MediaProvider में इमेज का डेटा सेव रखने के लिए, saveAttributes को लागू करने की प्रोसेस को ठीक करना
वर्शन 1.3.0
वर्शन 1.3.0
16 सितंबर, 2020
androidx.exifinterface:exifinterface:1.3.0
रिलीज़ हो गया है. 1.3.0 वर्शन में ये बदलाव शामिल हैं.
1.2.0 के बाद किए गए मुख्य बदलाव
- WebP EXIF में जानकारी लिखने की सुविधा को बेहतर बनाया गया है, ताकि सिर्फ़ VP8 या VP8L चंक वाली फ़ाइलों को शामिल किया जा सके.
- ग़ैर-ज़रूरी बफ़रिंग हटा दी गई है. इसकी वजह से, बड़ी इमेज फ़ाइलों के लिए OutOfMemory अपवाद आ रहे थे.
INVALID_DATE_TIME
को हटा दिया गया है. इसके बजाय, अमान्य तारीख और समय की वैल्यू दिखाने के लिएNULL
का इस्तेमाल करें.- अमान्य वैल्यू के लिए,
getGpsDateTime
को-1
के बजायLong.MIN_VALUE
दिखाने के लिए बनाया गया.
वर्शन 1.3.0-rc01
2 सितंबर, 2020
androidx.exifinterface:exifinterface:1.3.0-rc01
को 1.3.0-beta01
से बिना किसी बदलाव के रिलीज़ किया गया है. 1.3.0-rc01 वर्शन में ये कमिट शामिल हैं.
वर्शन 1.3.0-beta01
19 अगस्त, 2020
androidx.exifinterface:exifinterface:1.3.0-beta01
रिलीज़ हो गया है. 1.3.0-beta01 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
- WebP EXIF में जानकारी लिखने की सुविधा को बेहतर बनाया गया है, ताकि सिर्फ़ VP8 या VP8L चंक वाली फ़ाइलों को शामिल किया जा सके.
एपीआई में हुए बदलाव
INVALID_DATE_TIME
को हटा दिया गया है. इसके बजाय, अमान्य तारीख और समय की वैल्यू दिखाने के लिएNULL
का इस्तेमाल करें.
गड़बड़ियां ठीक की गईं
getGpsDateTime
को-1
के बजायLong.MIN_VALUE
दिखाने के लिए बदला गया, क्योंकि-1
एक मान्य वैल्यू है- DateTime से जुड़े गेट्टर, तारीख स्ट्रिंग की ऑफ़सेट वैल्यू (+/-) को ध्यान में रखते हैं.
- ग़ैर-ज़रूरी बफ़रिंग हटा दी गई है. इसकी वजह से, बड़ी इमेज फ़ाइलों के लिए OutOfMemory अपवाद आ रहे थे.
- डिफ़ॉल्ट भाषा को अमेरिका पर सेट करना
- टेंप्लेट फ़ाइलें बनाने के लिए, “.tmp” जोड़ने की जगह प्रीफ़िक्स जोड़ा गया.
वर्शन 1.3.0-alpha01
19 फ़रवरी, 2020
androidx.exifinterface:exifinterface:1.3.0-alpha01
रिलीज़ हो गया है. 1.3.0-alpha01 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- एक नया तरीका जोड़ा गया:
ExifInterface.getGpsDateTime()
वर्शन 1.2.0
वर्शन 1.2.0
1 अप्रैल, 2020
androidx.exifinterface:exifinterface:1.2.0
रिलीज़ हो गया है. 1.2.0 वर्शन में ये बदलाव शामिल हैं.
1.1.0 के बाद किए गए मुख्य बदलाव
- PNG फ़ाइलों में EXIF जोड़ने की सुविधा जोड़ी गई
- WebP फ़ाइलों और सिर्फ़ EXIF डेटा स्ट्रीम के लिए सहायता जोड़ी गई
- यह देखने के लिए एपीआई जोड़ा गया है कि तय किया गया माइम टाइप काम करता है या नहीं
- ऑफ़सेट समय के लिए ज़्यादा टैग जोड़े गए:
TAG_OFFSET_TIME
,TAF_OFFSET_TIME_DIGITIZED
, औरTAG_OFFSET_TIME_ORIGINAL
वर्शन 1.2.0-rc01
19 फ़रवरी, 2020
androidx.exifinterface:exifinterface:1.2.0-rc01
रिलीज़ हो गया है. 1.2.0-rc01 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- एक समस्या को ठीक किया गया है. इसमें, JPEG फ़ाइलों में XMP डेटा होने पर, उन्हें गलत तरीके से सेव किया जाता था
वर्शन 1.2.0-beta01
18 दिसंबर, 2019
androidx.exifinterface:exifinterface:1.2.0-beta01
रिलीज़ हो गया है. 1.2.0-beta01 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
- PNG फ़ाइलों में EXIF जोड़ने की सुविधा जोड़ी गई
- WebP फ़ाइलों से EXIF डेटा को पढ़ने और उसमें डेटा जोड़ने की सुविधा जोड़ी गई
- सिर्फ़ EXIF डेटा वाली स्ट्रीम के लिए सहायता जोड़ी गई
एपीआई में हुए बदलाव
- यह देखने के लिए एपीआई जोड़ा गया है कि तय किया गया माइम टाइप काम करता है या नहीं
- OffsetTime* टैग को पढ़ने और उसमें बदलाव करने की अनुमति दी गई
गड़बड़ियां ठीक की गईं
getAttributeRange()
के लिए गलत ऑफ़सेट दिखाने की समस्या को ठीक किया गया
वर्शन 1.1.0
वर्शन 1.1.0
20 नवंबर, 2019
androidx.exifinterface:exifinterface:1.1.0
रिलीज़ हो गया है. 1.1.0 वर्शन में ये बदलाव शामिल हैं.
1.0.0 के बाद किए गए अहम बदलाव
- HEIF फ़ॉर्मैट और ज़्यादा XMP टैग के साथ काम करना
File
याFileDescriptor
सेExifInterface
ऑब्जेक्ट बनाने की सुविधा जोड़ी गई- एट्रिब्यूट:
hasAttribute
,getAttributeBytes
, औरgetAttributesRange
पाने के लिए ज़्यादा तरीके जोड़े गए
वर्शन 1.1.0-rc01
9 अक्टूबर, 2019
androidx.exifinterface:exifinterface:1.1.0-rc01
रिलीज़ हो गया है. 1.1.0-rc01 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
loadAttributes
परArrayIndexOutOfBoundsException
से बचने के लिए, फ़ॉर्मैट का नाम (IFD) जोड़ा गयाsaveAttributes
को कॉल करते समय कोई अपवाद होने पर, ओरिजनल फ़ाइल को मिटाने से रोका गया- किसी फ़ाइल को ओवरराइट करने के बाद,
saveAttributes()
को कॉल करने पर मिलने वाली अपवाद की समस्या को ठीक किया गया है.
वर्शन 1.1.0-beta01
2 जुलाई, 2019
androidx.exifinterface:exifinterface:1.1.0-beta01
रिलीज़ हो गया है. इस वर्शन में शामिल किए गए कमिट यहां देखे जा सकते हैं.
नई सुविधाएं
@NonNull
आर्ग्युमेंट के लिएnull
सेट होने पर,NullPointerException
दिखाता है- XMP टैग के लिए सहायता
एपीआई में हुए बदलाव
- एट्रिब्यूट की जानकारी पाने के लिए ज़्यादा तरीके जोड़े गए
hasAttribute
,getAttributeBytes
, औरgetAttributesRange
गड़बड़ियां ठीक की गईं
- फ़ाइल डिस्क्रिप्टर मेमोरी लीक को रोकना
वर्शन 1.1.0-alpha01
13 मार्च, 2019
androidx.exifinterface:exifinterface:1.1.0-alpha01
रिलीज़ हो गया है. इस वर्शन में शामिल किए गए सभी बदलावों की सूची यहां देखी जा सकती है.
नई सुविधाएं
- HEIF फ़ॉर्मैट के साथ काम करना
एपीआई में हुए बदलाव
- ExifInterface के ज़्यादा कंस्ट्रक्टर जोड़े गए
- टाइपो ठीक किया गया:
TAG_CAMARA_OWNER_NAME
->TAG_CAMERA_OWNER_NAME
गड़बड़ियां ठीक की गईं
- थंबनेल इमेज के लिए, ओवरफ़्लो की जांच करने की सुविधा को ठीक किया गया (aosp/748608)