Exifinterface

خواندن و نوشتن تگ های فایل تصویری EXIF.
آخرین به روز رسانی انتشار پایدار کاندید را آزاد کنید نسخه بتا انتشار آلفا
23 آوریل 2025 1.4.1 - - -

اعلام وابستگی ها

برای افزودن وابستگی به Exifinterface، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.

وابستگی‌های مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:

شیار

dependencies {
    implementation "androidx.exifinterface:exifinterface:1.4.1"
}

کاتلین

dependencies {
    implementation("androidx.exifinterface:exifinterface:1.4.1")
}

برای اطلاعات بیشتر درباره وابستگی‌ها، به افزودن وابستگی‌های ساخت نگاه کنید.

بازخورد

بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.

یک شماره جدید ایجاد کنید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

نسخه 1.4

نسخه 1.4.1

23 آوریل 2025

androidx.exifinterface:exifinterface:1.4.1 منتشر شد. نسخه 1.4.1 شامل این commit ها است.

رفع اشکال

  • رفع اشکال که در آن ارسال null به setAttribute برای TAG_XMP یک استثنا ایجاد می کند.

نسخه 1.4.0

26 فوریه 2025

androidx.exifinterface:exifinterface:1.4.0 منتشر شد. نسخه 1.4.0 حاوی این تعهدات است.

نسخه 1.4.0-rc01

29 ژانویه 2025

androidx.exifinterface:exifinterface:1.4.0-rc01 بدون هیچ تغییری از نسخه beta01 منتشر شد. نسخه 1.4.0-rc01 حاوی این commit ها است.

نسخه 1.4.0-beta01

15 ژانویه 2025

androidx.exifinterface:exifinterface:1.4.0-beta01 منتشر شد. نسخه 1.4.0-beta01 حاوی این تعهدات است.

تغییرات API

  • مدیریت HEIC XMP را به‌روزرسانی کنید تا داده‌های XMP را از یک بخش جداگانه در فایل ترجیح دهید، به جای برچسب 700 در داده‌های Exif.

رفع اشکال

  • روش ExifInterface.getThumbnail*() را برطرف کنید تا پس از فراخوانی saveAttributes() به درستی کار کند (قبلاً تماس ها موفق می شدند، اما نتیجه نادرست/تعریف نمی شد)
  • برای خواندن و نوشتن قطعه جداگانه iTXt XMP به جای برچسب 700 در داخل قطعه eXIf، مدیریت PNG XMP را برطرف کنید.
  • خرابی تصویر WebP را هنگام مدیریت فایل‌های تصویری با داده‌های غیر WebP دنبال کنید. ( b/385766064 ).

نسخه 1.4.0-alpha01

13 نوامبر 2024

androidx.exifinterface:exifinterface:1.4.0-alpha01 منتشر شد. نسخه 1.4.0-alpha01 حاوی این تعهدات است.

ویژگی های جدید

  • برای خواندن اطلاعات XMP از تصاویر HEIF پشتیبانی اضافه کنید.
  • برای خواندن Exif و XMP از تصاویر AVIF پشتیبانی اضافه کنید.

تغییرات API

  • مشخص کنید که پارامتر location برای setGpsInfo @Nullable است و پاس کردن null منجر به No-Op می شود. ( If924c , b/236484611 )

رفع اشکال

  • پس از مواجهه با یک افست نامعتبر IFD ( b/264729367 ) به تجزیه ادامه دهید.
  • تصاویر WebP را که به اشتباه دارای نشانگر JPEG APP1 قبل از داده های Exif خود هستند ( b/281638358 ) مدیریت کنید.
  • اطمینان حاصل کنید که تغییرات XMP در JPEG با یک بخش XMP جداگانه در همان بخش XMP جداگانه توسط saveAttributes() ذخیره می شود، به جای اینکه در تگ TIFF/Exif 700 نوشته شود که توسط مشخصات XMP پشتیبانی نمی شود و بسیاری از ابزارها آنها را پیدا نمی کنند.
  • هنگام ذخیره، از کپی کردن داده های XMP از یک بخش جداگانه در فهرست پیش نمایش TIFF خودداری کنید ( b/309843390 ).
  • بهبود دقت تبدیل دو به منطقی. ( b/312680558 ).
  • قالب منطقی (x/y) را به setAttribute برای برچسب‌های منطقی «میراث» بپذیرید که در صورت بازگشت از getAttribute ( b/312680558 ) به صورت خودکار به اعشار تبدیل می‌شوند.
  • اطمینان حاصل کنید که داده‌های XMP اضافه‌شده به یک تصویر JPEG که قبلاً حاوی XMP نیست، در یک بخش جداگانه نوشته شده است، همانطور که توسط مشخصات XMP مشخص شده است. ExifInterface به گونه ای مستند شده است که XMP را در تگ Exif 700 در تصاویر JPEG ترجیح می دهد (نقض مشخصات)، بنابراین این رفتار هنگام خواندن/نوشتن تصاویر با داده های XMP موجود حفظ می شود.
  • هنگام نوشتن تصاویر WebP با ارتفاع یا عرض بیشتر از 8191 پیکسل ( b/342697059 ) خروجی خراب را برطرف کنید.
  • این کتابخانه اکنون از حاشیه‌نویسی‌های پوچ JSpecify استفاده می‌کند که نوع استفاده هستند. توسعه دهندگان Kotlin باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند: -Xjspecify-annotations=strict (این پیش فرض با نسخه 2.1.0 کامپایلر Kotlin شروع می شود). ( I5cd0f , b/326456246 )
  • طرح دستی دسترسی به APIهای پلتفرم جدید حذف شد زیرا این به طور خودکار از طریق مدلسازی API هنگام استفاده از R8 با AGP 7.3 یا جدیدتر (مثلا R8 نسخه 3.3) و برای همه ساخت‌ها هنگام استفاده از AGP 8.1 یا بالاتر (به عنوان مثال D8 نسخه 8.1) اتفاق می‌افتد. به مشتریانی که از AGP استفاده نمی‌کنند، توصیه می‌شود به نسخه 8.1 یا بالاتر D8 به‌روزرسانی کنند. برای جزئیات بیشتر به این مقاله مراجعه کنید. ( If6b4c , b/345472586 )

نسخه 1.3.7

نسخه 1.3.7

13 دسامبر 2023

androidx.exifinterface:exifinterface:1.3.7 منتشر شد. نسخه 1.3.7 حاوی این commit ها است.

رفع اشکال

  • هنگام تلاش برای نوشتن یک بخش 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 حاوی این commit ها است.

رفع اشکال

  • خواندن بیت آلفا از تکه های WebP VP8L ( b/255405635 ) را برطرف کنید.

نسخه 1.3.5

نسخه 1.3.5

24 اکتبر 2022

androidx.exifinterface:exifinterface:1.3.5 منتشر شد. نسخه 1.3.5 حاوی این commit ها است.

رفع اشکال

  • دو مورد از saveAttributes() که فایل‌های WebP نامعتبر را تولید می‌کند را برطرف کنید.

نسخه 1.3.4

نسخه 1.3.4

5 اکتبر 2022

androidx.exifinterface:exifinterface:1.3.4 منتشر شد. نسخه 1.3.4 حاوی این commit ها است.

رفع اشکال

  • پشتیبانی برای ذخیره ویژگی ها در فایل های DNG را حذف کنید. پشتیبانی اضافه شده در 1.3.3 ناقص بود و فایل های خراب تولید می کرد.

نسخه 1.3.3

نسخه 1.3.3

4 آگوست 2021

androidx.exifinterface:exifinterface:1.3.3 منتشر شد. نسخه 1.3.3 حاوی این commit ها است.

رفع اشکال

  • رفع تجزیه برچسب های مربوط به بخش فرعی. ( aosp/1508143 )
  • هنگام فراخوانی setDataSource از RuntimeException جلوگیری کنید. ( c8e66e9 )
  • از حلقه زنی بی نهایت skipBytes جلوگیری کنید. ( fdbe88b )
  • RuntimeException را از MediaMetadataRetriever بگیرید. ( 389b21a )
  • اضافه کردن پشتیبانی برای ذخیره ویژگی ها برای فایل های DNG ( 3017dbc )
  • برچسب های غیر بندانگشتی را با تگ های بندانگشتی جایگزین کنید. ( e1b916d )

نسخه 1.3.2

نسخه 1.3.2

2 دسامبر 2020

androidx.exifinterface:exifinterface:1.3.2 منتشر شد. نسخه 1.3.2 حاوی این commit ها است.

رفع اشکال

  • به SRATIONAL برای GPS_LATITUDE و GPS_LONGITUDE اجازه می‌دهد.
  • پشتیبانی برای خواندن/نوشتن فرمت ثانویه (01-01-2020 00:00:00) تگ DateTime اضافه شده است.
  • از حذف موقت فایل مبدا هنگام فراخوانی saveAttribute() جلوگیری کرد.

نسخه 1.3.1

نسخه 1.3.1

14 اکتبر 2020

androidx.exifinterface:exifinterface:1.3.1 منتشر شد. نسخه 1.3.1 حاوی این commit ها است.

رفع اشکال

  • اجرای saveAttributes را برای نگه داشتن داده های تصویر در MediaProvider برطرف کنید

نسخه 1.3.0

نسخه 1.3.0

16 سپتامبر 2020

androidx.exifinterface:exifinterface:1.3.0 منتشر شد. نسخه 1.3.0 حاوی این commit ها است.

تغییرات عمده از 1.2.0

  • پشتیبانی از نوشتن WebP EXIF ​​گسترده برای شامل فایل‌هایی که فقط حاوی تکه‌های VP8 یا VP8L هستند.
  • بافر غیرضروری را که باعث استثناء OutOfMemory برای فایل‌های تصویری بزرگ می‌شد، حذف کرد.
  • INVALID_DATE_TIME حذف شد. در عوض از NULL برای برگرداندن مقادیر تاریخ نامعتبر استفاده کنید.
  • باعث شد که getGpsDateTime Long.MIN_VALUE به جای -1 برای یک مقدار نامعتبر برگرداند.

نسخه 1.3.0-rc01

2 سپتامبر 2020

androidx.exifinterface:exifinterface:1.3.0-rc01 بدون تغییر از 1.3.0-beta01 منتشر شده است. نسخه 1.3.0-rc01 حاوی این commit ها است.

نسخه 1.3.0-beta01

19 آگوست 2020

androidx.exifinterface:exifinterface:1.3.0-beta01 منتشر شد. نسخه 1.3.0-beta01 حاوی این تعهدات است.

ویژگی های جدید

  • پشتیبانی از نوشتن WebP EXIF ​​گسترده برای شامل فایل‌هایی که فقط حاوی تکه‌های VP8 یا VP8L هستند.

تغییرات API

  • INVALID_DATE_TIME حذف شد. در عوض از NULL برای برگرداندن مقدار تاریخ نامعتبر استفاده کنید.

رفع اشکال

  • بازگشت getGpsDateTime Long.MIN_VALUE به جای -1 انجام شد زیرا -1 یک مقدار معتبر است
  • دریافت کننده های ساخته شده مربوط به DateTime مقدار افست (+/-) رشته تاریخ را در نظر می گیرند.
  • بافر غیرضروری را که باعث استثناء OutOfMemory برای فایل‌های تصویری بزرگ می‌شد، حذف کرد.
  • محلی پیش فرض را روی US تنظیم کنید
  • جایگزین افزودن «.tmp» برای ایجاد فایل‌های موقت به اضافه کردن پیشوند شد.

نسخه 1.3.0-alpha01

19 فوریه 2020

androidx.exifinterface:exifinterface:1.3.0-alpha01 منتشر شد. نسخه 1.3.0-alpha01 حاوی این commit ها است.

تغییرات API

  • یک متد جدید اضافه کرد: ExifInterface.getGpsDateTime()

نسخه 1.2.0

نسخه 1.2.0

1 آوریل 2020

androidx.exifinterface:exifinterface:1.2.0 منتشر شد. نسخه 1.2.0 حاوی این commit ها است.

تغییرات عمده از 1.1.0

  • اضافه شدن پشتیبانی برای افزودن EXIF ​​به فایل های PNG
  • پشتیبانی از فایل های WebP و فقط جریان داده EXIF ​​اضافه شده است
  • برای بررسی اینکه آیا نوع mime مشخص شده پشتیبانی می‌شود، یک API اضافه کرد
  • برچسب‌های بیشتری برای زمان افست اضافه شد: 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 حاوی این commit ها است.

رفع اشکال

  • رفع مشکلی که در آن فایل‌های JPEG در صورتی که JPEG داده‌های XMP داشت، نادرست ذخیره می‌شدند

نسخه 1.2.0-beta01

18 دسامبر 2019

androidx.exifinterface:exifinterface:1.2.0-beta01 منتشر شد. نسخه 1.2.0-beta01 حاوی این تعهدات است .

ویژگی های جدید

  • اضافه شدن پشتیبانی برای افزودن EXIF ​​به فایل های PNG
  • اضافه شدن پشتیبانی پشتیبانی برای خواندن و نوشتن EXIF ​​از فایل های WebP
  • پشتیبانی از جریان فقط داده EXIF ​​اضافه شده است

API تغییر می کند

  • برای بررسی اینکه آیا نوع mime مشخص شده پشتیبانی می‌شود، یک API اضافه کرد
  • برچسب‌های خواندن و نوشتن OffsetTime* را آشکار کرد

رفع اشکال

  • رفع مشکلی که در آن افست های نادرست برای getAttributeRange() برگردانده می شدند.

نسخه 1.1.0

نسخه 1.1.0

20 نوامبر 2019

androidx.exifinterface:exifinterface:1.1.0 منتشر شد. نسخه 1.1.0 حاوی این تعهدات است .

تغییرات مهم از 1.0.0

  • پشتیبانی از فرمت HEIF و تگ های XMP بیشتر
  • پشتیبانی برای ساخت یک شی ExifInterface از یک File یا FileDescriptor اضافه شده است
  • روش‌های بیشتری برای دریافت ویژگی اضافه شده است: hasAttribute ، getAttributeBytes ، و getAttributesRange

نسخه 1.1.0-rc01

9 اکتبر 2019

androidx.exifinterface:exifinterface:1.1.0-rc01 منتشر شد. نسخه 1.1.0-rc01 حاوی این commit ها است .

رفع اشکال

  • برای جلوگیری از ArrayIndexOutOfBoundsException در loadAttributes یک نام قالب گمشده (IFD) اضافه کرد.
  • هنگامی که هنگام فراخوانی saveAttributes یک استثنا اتفاق می افتد، از حذف فایل مبدا جلوگیری کرد
  • هنگامی که پس از بازنویسی یک فایل، به saveAttributes() فراخوانی می‌شود، مشکل استثنا برطرف شد.

نسخه 1.1.0-beta01

2 جولای 2019

androidx.exifinterface:exifinterface:1.1.0-beta01 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.

ویژگی های جدید

  • زمانی که null برای آرگومان های @NonNull تنظیم شده باشد، NullPointerException پرتاب می کند
  • پشتیبانی از تگ های XMP

API تغییر می کند

  • روش های بیشتری برای دریافت اطلاعات ویژگی اضافه شده است
  • hasAttribute ، getAttributeBytes و getAttributesRange

رفع اشکال

  • جلوگیری از نشت حافظه توصیفگر فایل

نسخه 1.1.0-alpha01

13 مارس 2019

androidx.exifinterface:exifinterface:1.1.0-alpha01 منتشر شد. لیست کامل commit های موجود در این نسخه را می توانید در اینجا بیابید.

ویژگی های جدید

  • پشتیبانی از فرمت HEIF

API تغییر می کند

  • سازنده های بیشتری از ExifInterface اضافه شده است
  • اشتباه تایپی رفع شد: TAG_CAMARA_OWNER_NAME -> TAG_CAMERA_OWNER_NAME

رفع اشکال

  • بررسی سرریز احتمالی برای تصویر بند انگشتی ( aosp/748608 ) رفع شد
،

Exifinterface

خواندن و نوشتن تگ های فایل تصویری EXIF.
آخرین به روز رسانی انتشار پایدار کاندید را آزاد کنید نسخه بتا انتشار آلفا
23 آوریل 2025 1.4.1 - - -

اعلام وابستگی ها

برای افزودن وابستگی به Exifinterface، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.

وابستگی‌های مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:

شیار

dependencies {
    implementation "androidx.exifinterface:exifinterface:1.4.1"
}

کاتلین

dependencies {
    implementation("androidx.exifinterface:exifinterface:1.4.1")
}

برای اطلاعات بیشتر درباره وابستگی‌ها، به افزودن وابستگی‌های ساخت نگاه کنید.

بازخورد

بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.

یک شماره جدید ایجاد کنید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

نسخه 1.4

نسخه 1.4.1

23 آوریل 2025

androidx.exifinterface:exifinterface:1.4.1 منتشر شد. نسخه 1.4.1 شامل این commit ها است.

رفع اشکال

  • رفع اشکال که در آن ارسال null به setAttribute برای TAG_XMP یک استثنا ایجاد می کند.

نسخه 1.4.0

26 فوریه 2025

androidx.exifinterface:exifinterface:1.4.0 منتشر شد. نسخه 1.4.0 حاوی این تعهدات است.

نسخه 1.4.0-rc01

29 ژانویه 2025

androidx.exifinterface:exifinterface:1.4.0-rc01 بدون هیچ تغییری از نسخه beta01 منتشر شد. نسخه 1.4.0-rc01 حاوی این commit ها است.

نسخه 1.4.0-beta01

15 ژانویه 2025

androidx.exifinterface:exifinterface:1.4.0-beta01 منتشر شد. نسخه 1.4.0-beta01 حاوی این تعهدات است.

تغییرات API

  • مدیریت HEIC XMP را به‌روزرسانی کنید تا داده‌های XMP را از یک بخش جداگانه در فایل ترجیح دهید، به جای برچسب 700 در داده‌های Exif.

رفع اشکال

  • روش ExifInterface.getThumbnail*() را برطرف کنید تا پس از فراخوانی saveAttributes() به درستی کار کند (قبلاً تماس ها موفق می شدند، اما نتیجه نادرست/تعریف نمی شد)
  • برای خواندن و نوشتن قطعه جداگانه iTXt XMP به جای برچسب 700 در داخل قطعه eXIf، مدیریت PNG XMP را برطرف کنید.
  • خرابی تصویر WebP را هنگام مدیریت فایل‌های تصویری با داده‌های غیر WebP دنبال کنید. ( b/385766064 ).

نسخه 1.4.0-alpha01

13 نوامبر 2024

androidx.exifinterface:exifinterface:1.4.0-alpha01 منتشر شد. نسخه 1.4.0-alpha01 حاوی این تعهدات است.

ویژگی های جدید

  • برای خواندن اطلاعات XMP از تصاویر HEIF پشتیبانی اضافه کنید.
  • برای خواندن Exif و XMP از تصاویر AVIF پشتیبانی اضافه کنید.

تغییرات API

  • مشخص کنید که پارامتر location برای setGpsInfo @Nullable است و پاس کردن null منجر به No-Op می شود. ( If924c , b/236484611 )

رفع اشکال

  • پس از مواجهه با یک افست نامعتبر IFD ( b/264729367 ) به تجزیه ادامه دهید.
  • تصاویر WebP را که به اشتباه دارای نشانگر JPEG APP1 قبل از داده های Exif خود هستند ( b/281638358 ) مدیریت کنید.
  • اطمینان حاصل کنید که تغییرات XMP در JPEG با یک بخش XMP جداگانه در همان بخش XMP جداگانه توسط saveAttributes() ذخیره می شود، به جای اینکه در تگ TIFF/Exif 700 نوشته شود که توسط مشخصات XMP پشتیبانی نمی شود و بسیاری از ابزارها آنها را پیدا نمی کنند.
  • هنگام ذخیره، از کپی کردن داده های XMP از یک بخش جداگانه در فهرست پیش نمایش TIFF خودداری کنید ( b/309843390 ).
  • بهبود دقت تبدیل دو به منطقی. ( b/312680558 ).
  • قالب منطقی (x/y) را به setAttribute برای برچسب‌های منطقی «میراث» بپذیرید که در صورت بازگشت از getAttribute ( b/312680558 ) به صورت خودکار به اعشار تبدیل می‌شوند.
  • اطمینان حاصل کنید که داده‌های XMP اضافه‌شده به یک تصویر JPEG که قبلاً حاوی XMP نیست، در یک بخش جداگانه نوشته شده است، همانطور که توسط مشخصات XMP مشخص شده است. ExifInterface به گونه ای مستند شده است که XMP را در تگ Exif 700 در تصاویر JPEG ترجیح می دهد (نقض مشخصات)، بنابراین این رفتار هنگام خواندن/نوشتن تصاویر با داده های XMP موجود حفظ می شود.
  • هنگام نوشتن تصاویر WebP با ارتفاع یا عرض بیشتر از 8191 پیکسل ( b/342697059 ) خروجی خراب را برطرف کنید.
  • این کتابخانه اکنون از حاشیه‌نویسی‌های پوچ JSpecify استفاده می‌کند که نوع استفاده هستند. توسعه دهندگان Kotlin باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند: -Xjspecify-annotations=strict (این پیش فرض با نسخه 2.1.0 کامپایلر Kotlin شروع می شود). ( I5cd0f , b/326456246 )
  • طرح دستی دسترسی به APIهای پلتفرم جدید حذف شد زیرا این به طور خودکار از طریق مدلسازی API هنگام استفاده از R8 با AGP 7.3 یا جدیدتر (مثلا R8 نسخه 3.3) و برای همه ساخت‌ها هنگام استفاده از AGP 8.1 یا بالاتر (به عنوان مثال D8 نسخه 8.1) اتفاق می‌افتد. به مشتریانی که از AGP استفاده نمی‌کنند، توصیه می‌شود به نسخه 8.1 یا بالاتر D8 به‌روزرسانی کنند. برای جزئیات بیشتر به این مقاله مراجعه کنید. ( If6b4c , b/345472586 )

نسخه 1.3.7

نسخه 1.3.7

13 دسامبر 2023

androidx.exifinterface:exifinterface:1.3.7 منتشر شد. نسخه 1.3.7 حاوی این commit ها است.

رفع اشکال

  • هنگام تلاش برای نوشتن یک بخش 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 حاوی این commit ها است.

رفع اشکال

  • خواندن بیت آلفا از تکه های WebP VP8L ( b/255405635 ) را برطرف کنید.

نسخه 1.3.5

نسخه 1.3.5

24 اکتبر 2022

androidx.exifinterface:exifinterface:1.3.5 منتشر شد. نسخه 1.3.5 حاوی این commit ها است.

رفع اشکال

  • دو مورد از saveAttributes() که فایل‌های WebP نامعتبر را تولید می‌کند را برطرف کنید.

نسخه 1.3.4

نسخه 1.3.4

5 اکتبر 2022

androidx.exifinterface:exifinterface:1.3.4 منتشر شد. نسخه 1.3.4 حاوی این commit ها است.

رفع اشکال

  • پشتیبانی برای ذخیره ویژگی ها در فایل های DNG را حذف کنید. پشتیبانی اضافه شده در 1.3.3 ناقص بود و فایل های خراب تولید می کرد.

نسخه 1.3.3

نسخه 1.3.3

4 آگوست 2021

androidx.exifinterface:exifinterface:1.3.3 منتشر شد. نسخه 1.3.3 حاوی این commit ها است.

رفع اشکال

  • رفع تجزیه برچسب های مربوط به بخش فرعی. ( aosp/1508143 )
  • هنگام فراخوانی setDataSource از RuntimeException جلوگیری کنید. ( c8e66e9 )
  • از حلقه زنی بی نهایت skipBytes جلوگیری کنید. ( fdbe88b )
  • RuntimeException را از MediaMetadataRetriever بگیرید. ( 389b21a )
  • اضافه کردن پشتیبانی برای ذخیره ویژگی ها برای فایل های DNG ( 3017dbc )
  • برچسب های غیر بندانگشتی را با تگ های بندانگشتی جایگزین کنید. ( e1b916d )

نسخه 1.3.2

نسخه 1.3.2

2 دسامبر 2020

androidx.exifinterface:exifinterface:1.3.2 منتشر شد. نسخه 1.3.2 حاوی این commit ها است.

رفع اشکال

  • به SRATIONAL برای GPS_LATITUDE و GPS_LONGITUDE اجازه می‌دهد.
  • پشتیبانی برای خواندن/نوشتن فرمت ثانویه (01-01-2020 00:00:00) تگ DateTime اضافه شده است.
  • از حذف موقت فایل مبدا هنگام فراخوانی saveAttribute() جلوگیری کرد.

نسخه 1.3.1

نسخه 1.3.1

14 اکتبر 2020

androidx.exifinterface:exifinterface:1.3.1 منتشر شد. نسخه 1.3.1 حاوی این commit ها است.

رفع اشکال

  • اجرای saveAttributes را برای نگه داشتن داده های تصویر در MediaProvider برطرف کنید

نسخه 1.3.0

نسخه 1.3.0

16 سپتامبر 2020

androidx.exifinterface:exifinterface:1.3.0 منتشر شد. نسخه 1.3.0 حاوی این commit ها است.

تغییرات عمده از 1.2.0

  • پشتیبانی از نوشتن WebP EXIF ​​گسترده برای شامل فایل‌هایی که فقط حاوی تکه‌های VP8 یا VP8L هستند.
  • بافر غیرضروری را که باعث استثناء OutOfMemory برای فایل‌های تصویری بزرگ می‌شد، حذف کرد.
  • INVALID_DATE_TIME حذف شد. در عوض از NULL برای برگرداندن مقادیر تاریخ نامعتبر استفاده کنید.
  • باعث شد که getGpsDateTime Long.MIN_VALUE به جای -1 برای یک مقدار نامعتبر برگرداند.

نسخه 1.3.0-rc01

2 سپتامبر 2020

androidx.exifinterface:exifinterface:1.3.0-rc01 بدون تغییر از 1.3.0-beta01 منتشر شده است. نسخه 1.3.0-rc01 حاوی این commit ها است.

نسخه 1.3.0-beta01

19 آگوست 2020

androidx.exifinterface:exifinterface:1.3.0-beta01 منتشر شد. نسخه 1.3.0-beta01 حاوی این تعهدات است.

ویژگی های جدید

  • پشتیبانی از نوشتن WebP EXIF ​​گسترده برای شامل فایل‌هایی که فقط حاوی تکه‌های VP8 یا VP8L هستند.

تغییرات API

  • INVALID_DATE_TIME حذف شد. در عوض از NULL برای برگرداندن مقدار تاریخ نامعتبر استفاده کنید.

رفع اشکال

  • بازگشت getGpsDateTime Long.MIN_VALUE به جای -1 انجام شد زیرا -1 یک مقدار معتبر است
  • دریافت کننده های ساخته شده مربوط به DateTime مقدار افست (+/-) رشته تاریخ را در نظر می گیرند.
  • بافر غیرضروری را که باعث استثناء OutOfMemory برای فایل‌های تصویری بزرگ می‌شد، حذف کرد.
  • محلی پیش فرض را روی US تنظیم کنید
  • جایگزین افزودن «.tmp» برای ایجاد فایل‌های موقت به اضافه کردن پیشوند شد.

نسخه 1.3.0-alpha01

19 فوریه 2020

androidx.exifinterface:exifinterface:1.3.0-alpha01 منتشر شد. نسخه 1.3.0-alpha01 حاوی این commit ها است.

تغییرات API

  • یک متد جدید اضافه کرد: ExifInterface.getGpsDateTime()

نسخه 1.2.0

نسخه 1.2.0

1 آوریل 2020

androidx.exifinterface:exifinterface:1.2.0 منتشر شد. نسخه 1.2.0 حاوی این commit ها است.

تغییرات عمده از 1.1.0

  • اضافه شدن پشتیبانی برای افزودن EXIF ​​به فایل های PNG
  • پشتیبانی از فایل های WebP و فقط جریان داده EXIF ​​اضافه شده است
  • برای بررسی اینکه آیا نوع mime مشخص شده پشتیبانی می‌شود، یک API اضافه کرد
  • برچسب‌های بیشتری برای زمان افست اضافه شد: 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 حاوی این commit ها است.

رفع اشکال

  • رفع مشکلی که در آن فایل‌های JPEG در صورتی که JPEG داده‌های XMP داشت، نادرست ذخیره می‌شدند

نسخه 1.2.0-beta01

18 دسامبر 2019

androidx.exifinterface:exifinterface:1.2.0-beta01 منتشر شد. نسخه 1.2.0-beta01 حاوی این تعهدات است .

ویژگی های جدید

  • اضافه شدن پشتیبانی برای افزودن EXIF ​​به فایل های PNG
  • اضافه شدن پشتیبانی پشتیبانی برای خواندن و نوشتن EXIF ​​از فایل های WebP
  • پشتیبانی از جریان فقط داده EXIF ​​اضافه شده است

API تغییر می کند

  • برای بررسی اینکه آیا نوع mime مشخص شده پشتیبانی می‌شود، یک API اضافه کرد
  • برچسب‌های خواندن و نوشتن OffsetTime* را آشکار کرد

رفع اشکال

  • رفع مشکلی که در آن افست های نادرست برای getAttributeRange() برگردانده می شدند.

نسخه 1.1.0

نسخه 1.1.0

20 نوامبر 2019

androidx.exifinterface:exifinterface:1.1.0 منتشر شد. نسخه 1.1.0 حاوی این تعهدات است .

تغییرات مهم از 1.0.0

  • پشتیبانی از فرمت HEIF و تگ های XMP بیشتر
  • پشتیبانی برای ساخت یک شی ExifInterface از یک File یا FileDescriptor اضافه شده است
  • روش‌های بیشتری برای دریافت ویژگی اضافه شده است: hasAttribute ، getAttributeBytes ، و getAttributesRange

نسخه 1.1.0-rc01

9 اکتبر 2019

androidx.exifinterface:exifinterface:1.1.0-rc01 منتشر شد. نسخه 1.1.0-rc01 حاوی این commit ها است .

رفع اشکال

  • برای جلوگیری از ArrayIndexOutOfBoundsException در loadAttributes یک نام قالب گمشده (IFD) اضافه کرد.
  • هنگامی که هنگام فراخوانی saveAttributes یک استثنا اتفاق می افتد، از حذف فایل مبدا جلوگیری کرد
  • هنگامی که پس از بازنویسی یک فایل، به saveAttributes() فراخوانی می‌شود، مشکل استثنا برطرف شد.

نسخه 1.1.0-beta01

2 جولای 2019

androidx.exifinterface:exifinterface:1.1.0-beta01 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.

ویژگی های جدید

  • زمانی که null برای آرگومان های @NonNull تنظیم شده باشد، NullPointerException پرتاب می کند
  • پشتیبانی از تگ های XMP

API تغییر می کند

  • روش های بیشتری برای دریافت اطلاعات ویژگی اضافه شده است
  • hasAttribute ، getAttributeBytes و getAttributesRange

رفع اشکال

  • جلوگیری از نشت حافظه توصیفگر فایل

نسخه 1.1.0-alpha01

13 مارس 2019

androidx.exifinterface:exifinterface:1.1.0-alpha01 منتشر شد. لیست کامل commit های موجود در این نسخه را می توانید در اینجا بیابید.

ویژگی های جدید

  • پشتیبانی از فرمت HEIF

API تغییر می کند

  • سازنده های بیشتری از ExifInterface اضافه شده است
  • اشتباه تایپی رفع شد: TAG_CAMARA_OWNER_NAME -> TAG_CAMERA_OWNER_NAME

رفع اشکال

  • بررسی سرریز احتمالی برای تصویر بند انگشتی ( aosp/748608 ) رفع شد
،

Exifinterface

خواندن و نوشتن تگ های فایل تصویری EXIF.
آخرین به روز رسانی انتشار پایدار کاندید را آزاد کنید نسخه بتا انتشار آلفا
23 آوریل 2025 1.4.1 - - -

اعلام وابستگی ها

برای افزودن وابستگی به Exifinterface، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.

وابستگی‌های مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:

شیار

dependencies {
    implementation "androidx.exifinterface:exifinterface:1.4.1"
}

کاتلین

dependencies {
    implementation("androidx.exifinterface:exifinterface:1.4.1")
}

برای اطلاعات بیشتر درباره وابستگی‌ها، به افزودن وابستگی‌های ساخت نگاه کنید.

بازخورد

بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.

یک شماره جدید ایجاد کنید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

نسخه 1.4

نسخه 1.4.1

23 آوریل 2025

androidx.exifinterface:exifinterface:1.4.1 منتشر شد. نسخه 1.4.1 شامل این commit ها است.

رفع اشکال

  • رفع اشکال که در آن ارسال null به setAttribute برای TAG_XMP یک استثنا ایجاد می کند.

نسخه 1.4.0

26 فوریه 2025

androidx.exifinterface:exifinterface:1.4.0 منتشر شد. نسخه 1.4.0 حاوی این تعهدات است.

نسخه 1.4.0-rc01

29 ژانویه 2025

androidx.exifinterface:exifinterface:1.4.0-rc01 بدون هیچ تغییری از نسخه beta01 منتشر شد. نسخه 1.4.0-rc01 حاوی این commit ها است.

نسخه 1.4.0-beta01

15 ژانویه 2025

androidx.exifinterface:exifinterface:1.4.0-beta01 منتشر شد. نسخه 1.4.0-beta01 حاوی این تعهدات است.

تغییرات API

  • مدیریت HEIC XMP را به‌روزرسانی کنید تا داده‌های XMP را از یک بخش جداگانه در فایل ترجیح دهید، به جای برچسب 700 در داده‌های Exif.

رفع اشکال

  • روش ExifInterface.getThumbnail*() را برطرف کنید تا پس از فراخوانی saveAttributes() به درستی کار کند (قبلاً تماس ها موفق می شدند، اما نتیجه نادرست/تعریف نمی شد)
  • برای خواندن و نوشتن قطعه جداگانه iTXt XMP به جای برچسب 700 در داخل قطعه eXIf، مدیریت PNG XMP را برطرف کنید.
  • خرابی تصویر WebP را هنگام مدیریت فایل‌های تصویری با داده‌های غیر WebP دنبال کنید. ( b/385766064 ).

نسخه 1.4.0-alpha01

13 نوامبر 2024

androidx.exifinterface:exifinterface:1.4.0-alpha01 منتشر شد. نسخه 1.4.0-alpha01 حاوی این تعهدات است.

ویژگی های جدید

  • برای خواندن اطلاعات XMP از تصاویر HEIF پشتیبانی اضافه کنید.
  • برای خواندن Exif و XMP از تصاویر AVIF پشتیبانی اضافه کنید.

تغییرات API

  • مشخص کنید که پارامتر location برای setGpsInfo @Nullable است و پاس کردن null منجر به No-Op می شود. ( If924c , b/236484611 )

رفع اشکال

  • پس از مواجهه با یک افست نامعتبر IFD ( b/264729367 ) به تجزیه ادامه دهید.
  • تصاویر WebP را که به اشتباه دارای نشانگر JPEG APP1 قبل از داده های Exif خود هستند ( b/281638358 ) مدیریت کنید.
  • اطمینان حاصل کنید که تغییرات XMP در JPEG با یک بخش XMP جداگانه در همان بخش XMP جداگانه توسط saveAttributes() ذخیره می شود، به جای اینکه در تگ TIFF/Exif 700 نوشته شود که توسط مشخصات XMP پشتیبانی نمی شود و بسیاری از ابزارها آنها را پیدا نمی کنند.
  • هنگام ذخیره، از کپی کردن داده های XMP از یک بخش جداگانه در فهرست پیش نمایش TIFF خودداری کنید ( b/309843390 ).
  • بهبود دقت تبدیل دو به منطقی. ( b/312680558 ).
  • قالب منطقی (x/y) را به setAttribute برای برچسب‌های منطقی «میراث» بپذیرید که در صورت بازگشت از getAttribute ( b/312680558 ) به صورت خودکار به اعشار تبدیل می‌شوند.
  • اطمینان حاصل کنید که داده‌های XMP اضافه‌شده به یک تصویر JPEG که قبلاً حاوی XMP نیست، در یک بخش جداگانه نوشته شده است، همانطور که توسط مشخصات XMP مشخص شده است. ExifInterface به گونه ای مستند شده است که XMP را در تگ Exif 700 در تصاویر JPEG ترجیح می دهد (نقض مشخصات)، بنابراین این رفتار هنگام خواندن/نوشتن تصاویر با داده های XMP موجود حفظ می شود.
  • هنگام نوشتن تصاویر WebP با ارتفاع یا عرض بیشتر از 8191 پیکسل ( b/342697059 ) خروجی خراب را برطرف کنید.
  • این کتابخانه اکنون از حاشیه‌نویسی‌های پوچ JSpecify استفاده می‌کند که نوع استفاده هستند. توسعه دهندگان Kotlin باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند: -Xjspecify-annotations=strict (این پیش فرض با نسخه 2.1.0 کامپایلر Kotlin شروع می شود). ( I5cd0f , b/326456246 )
  • طرح دستی دسترسی به APIهای پلتفرم جدید حذف شد زیرا این به طور خودکار از طریق مدلسازی API هنگام استفاده از R8 با AGP 7.3 یا جدیدتر (مثلا R8 نسخه 3.3) و برای همه ساخت‌ها هنگام استفاده از AGP 8.1 یا بالاتر (به عنوان مثال D8 نسخه 8.1) اتفاق می‌افتد. به مشتریانی که از AGP استفاده نمی‌کنند، توصیه می‌شود به نسخه 8.1 یا بالاتر D8 به‌روزرسانی کنند. برای جزئیات بیشتر به این مقاله مراجعه کنید. ( If6b4c , b/345472586 )

نسخه 1.3.7

نسخه 1.3.7

13 دسامبر 2023

androidx.exifinterface:exifinterface:1.3.7 منتشر شد. نسخه 1.3.7 حاوی این commit ها است.

رفع اشکال

  • هنگام تلاش برای نوشتن یک بخش 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 حاوی این commit ها است.

رفع اشکال

  • خواندن بیت آلفا از تکه های WebP VP8L ( b/255405635 ) را برطرف کنید.

نسخه 1.3.5

نسخه 1.3.5

24 اکتبر 2022

androidx.exifinterface:exifinterface:1.3.5 منتشر شد. نسخه 1.3.5 حاوی این commit ها است.

رفع اشکال

  • دو مورد از saveAttributes() که فایل‌های WebP نامعتبر را تولید می‌کند را برطرف کنید.

نسخه 1.3.4

نسخه 1.3.4

5 اکتبر 2022

androidx.exifinterface:exifinterface:1.3.4 منتشر شد. نسخه 1.3.4 حاوی این commit ها است.

رفع اشکال

  • پشتیبانی برای ذخیره ویژگی ها در فایل های DNG را حذف کنید. پشتیبانی اضافه شده در 1.3.3 ناقص بود و فایل های خراب تولید می کرد.

نسخه 1.3.3

نسخه 1.3.3

4 آگوست 2021

androidx.exifinterface:exifinterface:1.3.3 منتشر شد. نسخه 1.3.3 حاوی این commit ها است.

رفع اشکال

  • رفع تجزیه برچسب های مربوط به بخش فرعی. ( aosp/1508143 )
  • هنگام فراخوانی setDataSource از RuntimeException جلوگیری کنید. ( c8e66e9 )
  • از حلقه زنی بی نهایت skipBytes جلوگیری کنید. ( fdbe88b )
  • RuntimeException را از MediaMetadataRetriever بگیرید. ( 389b21a )
  • اضافه کردن پشتیبانی برای ذخیره ویژگی ها برای فایل های DNG ( 3017dbc )
  • برچسب های غیر بندانگشتی را با تگ های بندانگشتی جایگزین کنید. ( e1b916d )

نسخه 1.3.2

نسخه 1.3.2

2 دسامبر 2020

androidx.exifinterface:exifinterface:1.3.2 منتشر شد. نسخه 1.3.2 حاوی این commit ها است.

رفع اشکال

  • به SRATIONAL برای GPS_LATITUDE و GPS_LONGITUDE اجازه می‌دهد.
  • پشتیبانی برای خواندن/نوشتن فرمت ثانویه (01-01-2020 00:00:00) تگ DateTime اضافه شده است.
  • از حذف موقت فایل مبدا هنگام فراخوانی saveAttribute() جلوگیری کرد.

نسخه 1.3.1

نسخه 1.3.1

14 اکتبر 2020

androidx.exifinterface:exifinterface:1.3.1 منتشر شد. نسخه 1.3.1 حاوی این commit ها است.

رفع اشکال

  • اجرای saveAttributes را برای نگه داشتن داده های تصویر در MediaProvider برطرف کنید

نسخه 1.3.0

نسخه 1.3.0

16 سپتامبر 2020

androidx.exifinterface:exifinterface:1.3.0 منتشر شد. نسخه 1.3.0 حاوی این commit ها است.

تغییرات عمده از 1.2.0

  • پشتیبانی از نوشتن WebP EXIF ​​گسترده برای شامل فایل‌هایی که فقط حاوی تکه‌های VP8 یا VP8L هستند.
  • بافر غیرضروری را که باعث استثناء OutOfMemory برای فایل‌های تصویری بزرگ می‌شد، حذف کرد.
  • INVALID_DATE_TIME حذف شد. در عوض از NULL برای برگرداندن مقادیر تاریخ نامعتبر استفاده کنید.
  • باعث شد که getGpsDateTime Long.MIN_VALUE به جای -1 برای یک مقدار نامعتبر برگرداند.

نسخه 1.3.0-rc01

2 سپتامبر 2020

androidx.exifinterface:exifinterface:1.3.0-rc01 بدون تغییر از 1.3.0-beta01 منتشر شده است. نسخه 1.3.0-rc01 حاوی این commit ها است.

نسخه 1.3.0-beta01

19 آگوست 2020

androidx.exifinterface:exifinterface:1.3.0-beta01 منتشر شد. نسخه 1.3.0-beta01 حاوی این تعهدات است.

ویژگی های جدید

  • پشتیبانی از نوشتن WebP EXIF ​​گسترده برای شامل فایل‌هایی که فقط حاوی تکه‌های VP8 یا VP8L هستند.

تغییرات API

  • INVALID_DATE_TIME حذف شد. در عوض از NULL برای برگرداندن مقدار تاریخ نامعتبر استفاده کنید.

رفع اشکال

  • بازگشت getGpsDateTime Long.MIN_VALUE به جای -1 انجام شد زیرا -1 یک مقدار معتبر است
  • دریافت کننده های ساخته شده مربوط به DateTime مقدار افست (+/-) رشته تاریخ را در نظر می گیرند.
  • بافر غیرضروری را که باعث استثناء OutOfMemory برای فایل‌های تصویری بزرگ می‌شد، حذف کرد.
  • محلی پیش فرض را روی US تنظیم کنید
  • جایگزین افزودن «.tmp» برای ایجاد فایل‌های موقت به اضافه کردن پیشوند شد.

نسخه 1.3.0-alpha01

19 فوریه 2020

androidx.exifinterface:exifinterface:1.3.0-alpha01 منتشر شد. نسخه 1.3.0-alpha01 حاوی این commit ها است.

تغییرات API

  • یک متد جدید اضافه کرد: ExifInterface.getGpsDateTime()

نسخه 1.2.0

نسخه 1.2.0

1 آوریل 2020

androidx.exifinterface:exifinterface:1.2.0 منتشر شد. نسخه 1.2.0 حاوی این commit ها است.

تغییرات عمده از 1.1.0

  • اضافه شدن پشتیبانی برای افزودن EXIF ​​به فایل های PNG
  • پشتیبانی از فایل های WebP و فقط جریان داده EXIF ​​اضافه شده است
  • برای بررسی اینکه آیا نوع mime مشخص شده پشتیبانی می‌شود، یک API اضافه کرد
  • برچسب‌های بیشتری برای زمان افست اضافه شد: 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 حاوی این commit ها است.

رفع اشکال

  • رفع مشکلی که در آن فایل‌های JPEG در صورتی که JPEG داده‌های XMP داشت، نادرست ذخیره می‌شدند

نسخه 1.2.0-beta01

18 دسامبر 2019

androidx.exifinterface:exifinterface:1.2.0-beta01 منتشر شد. نسخه 1.2.0-beta01 حاوی این تعهدات است .

ویژگی های جدید

  • اضافه شدن پشتیبانی برای افزودن EXIF ​​به فایل های PNG
  • اضافه شدن پشتیبانی پشتیبانی برای خواندن و نوشتن EXIF ​​از فایل های WebP
  • پشتیبانی از جریان فقط داده EXIF ​​اضافه شده است

API تغییر می کند

  • برای بررسی اینکه آیا نوع mime مشخص شده پشتیبانی می‌شود، یک API اضافه کرد
  • برچسب‌های خواندن و نوشتن OffsetTime* را آشکار کرد

رفع اشکال

  • رفع مشکلی که در آن افست های نادرست برای getAttributeRange() برگردانده می شدند.

نسخه 1.1.0

نسخه 1.1.0

20 نوامبر 2019

androidx.exifinterface:exifinterface:1.1.0 منتشر شد. نسخه 1.1.0 حاوی این تعهدات است .

تغییرات مهم از 1.0.0

  • پشتیبانی از فرمت HEIF و تگ های XMP بیشتر
  • پشتیبانی برای ساخت یک شی ExifInterface از یک File یا FileDescriptor اضافه شده است
  • روش‌های بیشتری برای دریافت ویژگی اضافه شده است: hasAttribute ، getAttributeBytes ، و getAttributesRange

نسخه 1.1.0-rc01

9 اکتبر 2019

androidx.exifinterface:exifinterface:1.1.0-rc01 منتشر شد. نسخه 1.1.0-rc01 حاوی این commit ها است .

رفع اشکال

  • برای جلوگیری از ArrayIndexOutOfBoundsException در loadAttributes یک نام قالب گمشده (IFD) اضافه کرد.
  • هنگامی که هنگام فراخوانی saveAttributes یک استثنا اتفاق می افتد، از حذف فایل مبدا جلوگیری کرد
  • هنگامی که پس از بازنویسی یک فایل، به saveAttributes() فراخوانی می‌شود، مشکل استثنا برطرف شد.

نسخه 1.1.0-beta01

2 جولای 2019

androidx.exifinterface:exifinterface:1.1.0-beta01 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.

ویژگی های جدید

  • زمانی که null برای آرگومان های @NonNull تنظیم شده باشد، NullPointerException پرتاب می کند
  • پشتیبانی از تگ های XMP

API تغییر می کند

  • روش های بیشتری برای دریافت اطلاعات ویژگی اضافه شده است
  • hasAttribute ، getAttributeBytes و getAttributesRange

رفع اشکال

  • جلوگیری از نشت حافظه توصیفگر فایل

نسخه 1.1.0-alpha01

13 مارس 2019

androidx.exifinterface:exifinterface:1.1.0-alpha01 منتشر شد. لیست کامل commit های موجود در این نسخه را می توانید در اینجا بیابید.

ویژگی های جدید

  • پشتیبانی از فرمت HEIF

API تغییر می کند

  • سازنده های بیشتری از ExifInterface اضافه شده است
  • اشتباه تایپی رفع شد: TAG_CAMARA_OWNER_NAME -> TAG_CAMERA_OWNER_NAME

رفع اشکال

  • بررسی سرریز احتمالی برای تصویر بند انگشتی ( aosp/748608 ) رفع شد
،

Exifinterface

خواندن و نوشتن تگ های فایل تصویری EXIF.
آخرین به روز رسانی انتشار پایدار کاندید را آزاد کنید نسخه بتا انتشار آلفا
23 آوریل 2025 1.4.1 - - -

اعلام وابستگی ها

برای افزودن وابستگی به Exifinterface، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.

وابستگی‌های مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:

شیار

dependencies {
    implementation "androidx.exifinterface:exifinterface:1.4.1"
}

کاتلین

dependencies {
    implementation("androidx.exifinterface:exifinterface:1.4.1")
}

برای اطلاعات بیشتر درباره وابستگی‌ها، به افزودن وابستگی‌های ساخت نگاه کنید.

بازخورد

بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.

یک شماره جدید ایجاد کنید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

نسخه 1.4

نسخه 1.4.1

23 آوریل 2025

androidx.exifinterface:exifinterface:1.4.1 منتشر شد. نسخه 1.4.1 شامل این commit ها است.

رفع اشکال

  • رفع اشکال که در آن ارسال null به setAttribute برای TAG_XMP یک استثنا ایجاد می کند.

نسخه 1.4.0

26 فوریه 2025

androidx.exifinterface:exifinterface:1.4.0 منتشر شد. نسخه 1.4.0 حاوی این تعهدات است.

نسخه 1.4.0-rc01

29 ژانویه 2025

androidx.exifinterface:exifinterface:1.4.0-rc01 بدون هیچ تغییری از نسخه beta01 منتشر شد. نسخه 1.4.0-rc01 حاوی این commit ها است.

نسخه 1.4.0-beta01

15 ژانویه 2025

androidx.exifinterface:exifinterface:1.4.0-beta01 منتشر شد. نسخه 1.4.0-beta01 حاوی این تعهدات است.

تغییرات API

  • مدیریت HEIC XMP را به‌روزرسانی کنید تا داده‌های XMP را از یک بخش جداگانه در فایل ترجیح دهید، به جای برچسب 700 در داده‌های Exif.

رفع اشکال

  • روش ExifInterface.getThumbnail*() را برطرف کنید تا پس از فراخوانی saveAttributes() به درستی کار کند (قبلاً تماس ها موفق می شدند، اما نتیجه نادرست/تعریف نمی شد)
  • برای خواندن و نوشتن قطعه جداگانه iTXt XMP به جای برچسب 700 در داخل قطعه eXIf، مدیریت PNG XMP را برطرف کنید.
  • خرابی تصویر WebP را هنگام مدیریت فایل‌های تصویری با داده‌های غیر WebP دنبال کنید. ( b/385766064 ).

نسخه 1.4.0-alpha01

13 نوامبر 2024

androidx.exifinterface:exifinterface:1.4.0-alpha01 منتشر شد. نسخه 1.4.0-alpha01 حاوی این تعهدات است.

ویژگی های جدید

  • برای خواندن اطلاعات XMP از تصاویر HEIF پشتیبانی اضافه کنید.
  • برای خواندن Exif و XMP از تصاویر AVIF پشتیبانی اضافه کنید.

تغییرات API

  • مشخص کنید که پارامتر location برای setGpsInfo @Nullable است و پاس کردن null منجر به No-Op می شود. ( If924c , b/236484611 )

رفع اشکال

  • پس از مواجهه با یک افست نامعتبر IFD ( b/264729367 ) به تجزیه ادامه دهید.
  • تصاویر WebP را که به اشتباه دارای نشانگر JPEG APP1 قبل از داده های Exif خود هستند ( b/281638358 ) مدیریت کنید.
  • اطمینان حاصل کنید که تغییرات XMP در JPEG با یک بخش XMP جداگانه در همان بخش XMP جداگانه توسط saveAttributes() ذخیره می شود، به جای اینکه در تگ TIFF/Exif 700 نوشته شود که توسط مشخصات XMP پشتیبانی نمی شود و بسیاری از ابزارها آنها را پیدا نمی کنند.
  • هنگام ذخیره، از کپی کردن داده های XMP از یک بخش جداگانه در فهرست پیش نمایش TIFF خودداری کنید ( b/309843390 ).
  • بهبود دقت تبدیل دو به منطقی. ( b/312680558 ).
  • قالب منطقی (x/y) را به setAttribute برای برچسب‌های منطقی «میراث» بپذیرید که در صورت بازگشت از getAttribute ( b/312680558 ) به صورت خودکار به اعشار تبدیل می‌شوند.
  • اطمینان حاصل کنید که داده‌های XMP اضافه‌شده به یک تصویر JPEG که قبلاً حاوی XMP نیست، در یک بخش جداگانه نوشته شده است، همانطور که توسط مشخصات XMP مشخص شده است. ExifInterface به گونه ای مستند شده است که XMP را در تگ Exif 700 در تصاویر JPEG ترجیح می دهد (نقض مشخصات)، بنابراین این رفتار هنگام خواندن/نوشتن تصاویر با داده های XMP موجود حفظ می شود.
  • هنگام نوشتن تصاویر WebP با ارتفاع یا عرض بیشتر از 8191 پیکسل ( b/342697059 ) خروجی خراب را برطرف کنید.
  • این کتابخانه اکنون از حاشیه‌نویسی‌های پوچ JSpecify استفاده می‌کند که نوع استفاده هستند. توسعه دهندگان Kotlin باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند: -Xjspecify-annotations=strict (این پیش فرض با نسخه 2.1.0 کامپایلر Kotlin شروع می شود). ( I5cd0f , b/326456246 )
  • طرح دستی دسترسی به APIهای پلتفرم جدید حذف شد زیرا این به طور خودکار از طریق مدلسازی API هنگام استفاده از R8 با AGP 7.3 یا جدیدتر (مثلا R8 نسخه 3.3) و برای همه ساخت‌ها هنگام استفاده از AGP 8.1 یا بالاتر (به عنوان مثال D8 نسخه 8.1) اتفاق می‌افتد. به مشتریانی که از AGP استفاده نمی‌کنند، توصیه می‌شود به نسخه 8.1 یا بالاتر D8 به‌روزرسانی کنند. برای جزئیات بیشتر به این مقاله مراجعه کنید. ( If6b4c , b/345472586 )

نسخه 1.3.7

نسخه 1.3.7

13 دسامبر 2023

androidx.exifinterface:exifinterface:1.3.7 منتشر شد. نسخه 1.3.7 حاوی این commit ها است.

رفع اشکال

  • هنگام تلاش برای نوشتن یک بخش 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 شامل این تعهدات است.

رفع اشکال

  • خواندن بیت آلفا از بخش های وب 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 )
  • Catch RuntimeException از MediaMetadataretriever. ( 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 .
  • پشتیبانی برای خواندن/نوشتن یک قالب ثانویه (2020-01-01 00:00:00) از برچسب DateTime اضافه شد.
  • هنگام فراخوانی SaveAttribute () از حذف موقت پرونده مبدا جلوگیری کرد.

نسخه 1.3.1

نسخه 1.3.1

14 اکتبر 2020

androidx.exifinterface:exifinterface:1.3.1 منتشر می شود. نسخه 1.3.1 شامل این تعهدات است.

رفع اشکال

  • برای نگه داشتن داده های تصویر در MediaProvider ، اجرای SaeatTributes را برطرف کنید

نسخه 1.3.0

نسخه 1.3.0

16 سپتامبر 2020

androidx.exifinterface:exifinterface:1.3.0 منتشر می شود. نسخه 1.3.0 شامل این تعهدات است.

تغییرات اساسی از 1.2.0

  • پشتیبانی گسترده WebP Exif پشتیبانی از پرونده هایی که فقط شامل تکه های VP8 یا VP8L هستند.
  • بافر غیر ضروری حذف شد ، که باعث استثنائات خارج از کشور برای پرونده های بزرگ تصویری شد.
  • حذف شده INVALID_DATE_TIME . در عوض از NULL برای بازگشت مقادیر نامعتبر DateTime استفاده کنید.
  • ساخته شده getGpsDateTime بازگشت Long.MIN_VALUE min_value به جای -1 برای یک مقدار نامعتبر.

نسخه 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 هستند.

تغییرات API

  • حذف شده INVALID_DATE_TIME . در عوض از NULL برای بازگشت مقدار DateTime نامعتبر استفاده کنید.

رفع اشکال

  • ساخته شده getGpsDateTime بازگشت Long.MIN_VALUE min_value به جای -1 buase -1 یک مقدار معتبر است
  • تهیه کننده های مرتبط با DateTime مقدار افست (+/-) رشته تاریخ را در نظر بگیرید.
  • بافر غیر ضروری حذف شد ، که باعث استثنائات خارج از کشور برای پرونده های بزرگ تصویری شد.
  • محلی پیش فرض را برای ما تنظیم کنید
  • جایگزین افزودن ".tmp" برای ایجاد پرونده های دما برای افزودن پیشوند.

نسخه 1.3.0-alpha01

19 فوریه 2020

androidx.exifinterface:exifinterface:1.3.0-alpha01 منتشر می شود. نسخه 1.3.0-alpha01 شامل این تعهدات است.

تغییرات API

  • یک روش جدید اضافه شده است: ExifInterface.getGpsDateTime()

نسخه 1.2.0

نسخه 1.2.0

1 آوریل 2020

androidx.exifinterface:exifinterface:1.2.0 منتشر می شود. نسخه 1.2.0 شامل این تعهدات است.

تغییرات اساسی از 1.1.0

  • پشتیبانی اضافه شده برای افزودن EXIF ​​به پرونده های PNG
  • پشتیبانی از پرونده های WebP و فقط داده های EXIF ​​اضافه شده است
  • یک API اضافه شده است تا بررسی کند که آیا نوع MIME مشخص شده پشتیبانی می شود
  • برچسب های بیشتر برای زمان افست اضافه شده: 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 ، پرونده های JPEG نادرست ذخیره شدند

نسخه 1.2.0-beta01

18 دسامبر 2019

androidx.exifinterface:exifinterface:1.2.0-beta01 منتشر می شود. نسخه 1.2.0-beta01 شامل این تعهدات است .

ویژگی های جدید

  • پشتیبانی اضافه شده برای افزودن EXIF ​​به پرونده های PNG
  • پشتیبانی پشتیبانی برای خواندن و نوشتن exif از پرونده های وب اضافه شده است
  • پشتیبانی فقط برای یک جریان داده EXIF ​​اضافه شد

API تغییر می کند

  • یک API اضافه شده است تا بررسی کند که آیا نوع MIME مشخص شده پشتیبانی می شود
  • برچسب های خواندن و نوشتن* را در معرض دید قرار داده است

رفع اشکال

  • مسئله ای را برطرف کرد که در آن جبران های نادرست برای getAttributeRange()

نسخه 1.1.0

نسخه 1.1.0

20 نوامبر 2019

androidx.exifinterface:exifinterface:1.1.0 منتشر می شود. نسخه 1.1.0 شامل این تعهدات است .

تغییرات مهم از 1.0.0

  • پشتیبانی از فرمت HEIF و برچسب های XMP بیشتر
  • پشتیبانی اضافه شده برای ساخت یک شیء ExifInterface از یک File یا FileDescriptor
  • روشهای بیشتری برای دریافت ویژگی اضافه شده است: hasAttribute ، getAttributeBytes و getAttributesRange

نسخه 1.1.0-RC01

9 اکتبر 2019

androidx.exifinterface:exifinterface:1.1.0-rc01 منتشر می شود. نسخه 1.1.0-RC01 شامل این تعهدات است .

رفع اشکال

  • برای جلوگیری از یک ArrayIndexOutOfBoundsException در loadAttributes یک نام قالب گمشده (IFD) اضافه شده است
  • هنگامی که یک استثنا در هنگام فراخوانی saveAttributes اتفاق می افتد ، از حذف پرونده مبدا جلوگیری کرد
  • پس از saveAttributes() یک پرونده ، یک مسئله استثنا را برطرف کرد.

نسخه 1.1.0-beta01

2 جولای 2019

androidx.exifinterface:exifinterface:1.1.0-beta01 منتشر می شود. تعهدات موجود در این نسخه را می توان در اینجا یافت.

ویژگی های جدید

  • NullPointerException هنگامی که null برای آرگومان های @NonNull تنظیم شده است ، پرتاب می کند
  • پشتیبانی از برچسب های XMP

API تغییر می کند

  • روشهای بیشتری برای دریافت اطلاعات ویژگی اضافه شده است
  • hasAttribute ، getAttributeBytes و getAttributesRange

رفع اشکال

  • از نشت حافظه توصیف کننده پرونده جلوگیری کنید

نسخه 1.1.0-alpha01

13 مارس 2019

androidx.exifinterface:exifinterface:1.1.0-alpha01 منتشر می شود. لیست کامل تعهدات موجود در این نسخه را می توان در اینجا یافت.

ویژگی های جدید

  • از قالب HEIF پشتیبانی کنید

API تغییر می کند

  • سازندگان بیشتری از exifinterface اضافه شده است
  • تایپ ثابت: TAG_CAMARA_OWNER_NAME -> TAG_CAMERA_OWNER_NAME

رفع اشکال

  • بررسی سرریز احتمالی برای تصویر تصویر کوچک ( AOSP/748608 )