Exifinterface

خواندن و نوشتن تگ های فایل تصویری EXIF.
آخرین به روز رسانی انتشار پایدار کاندید را آزاد کنید نسخه بتا انتشار آلفا
13 نوامبر 2024 1.3.7 - - 1.4.0-alpha01

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

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

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

شیار

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

کاتلین

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

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

بازخورد

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

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

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

نسخه 1.4

نسخه 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, -Xtype-enhancement-improvements-strict-mode ( 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 ) رفع شد