Exifinterface

Resim dosyası EXIF etiketlerini okuma ve yazma.
Son Güncelleme Kararlı Sürüm Sürüm Adayı Beta Sürümü Alfa Sürümü
13 Kasım 2024 1.3.7 - - 1.4.0-alpha01

Bağımlılıkları beyan etme

Exifinterface bağımlılığı eklemek için projenize Google Maven deposunu eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu inceleyin.

Uygulamanızın veya modülünüzün build.gradle dosyasına ihtiyacınız olan yapıların bağımlılıklarını ekleyin:

Eski

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

Kotlin

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

Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme başlıklı makaleyi inceleyin.

Geri bildirim

Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmek için fikirleriniz varsa lütfen bize bildirin. Yeni bir kitaplık oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oy verebilirsiniz.

Yeni sorun oluşturma

Daha fazla bilgi için Sorun İzleyici belgelerine bakın.

Sürüm 1.4

Sürüm 1.4.0-alpha01

13 Kasım 2024

androidx.exifinterface:exifinterface:1.4.0-alpha01 yayınlanır. 1.4.0-alpha01 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • HEIF resimlerinden XMP verilerini okuma desteği eklendi.
  • AVIF resimlerinden Exif ve XMP okuma desteği eklendi.

API Değişiklikleri

  • setGpsInfo için location parametresinin @Nullable olduğunu ve null iletilmesinin işlem yapmamaya neden olacağını belirtin. (If924c, b/236484611)

Hata Düzeltmeleri

  • Geçersiz bir IFD ofsetiyle (b/264729367) karşılaştıktan sonra ayrıştırmaya devam edin.
  • Exif verilerinden önce yanlışlıkla JPEG APP1 işaretçisi içeren WebP resimlerini işleme (b/281638358).
  • Ayrı bir XMP segmenti olan JPEG'lerdeki XMP değişikliklerinin, XMP spesifikasyonu tarafından desteklenmeyen ve birçok aracın bulamayacağı TIFF/Exif etiketi 700'e yazılmak yerine saveAttributes() tarafından aynı ayrı XMP segmentine depolandığından emin olun.
  • Kaydetme sırasında ayrı bir segmentteki XMP verilerinin TIFF önizleme dizininde kopyalanmasını önleyin (b/309843390).
  • Çift sayı ile kesirli sayı dönüşümlerinin hassasiyetini artırın. (b/312680558).
  • getAttribute (b/312680558) kaynağından döndürüldüğünde otomatik olarak ondalık sayıya dönüştürülen "eski" kesirli etiketler için setAttribute'te kesirli biçimi (x/y) kabul eder.
  • XMP içermeyen bir JPEG resmine eklenen XMP verilerinin, XMP spesifikasyonunda belirtildiği gibi ayrı bir segmente yazıldığından emin olun. ExifInterface'ün, JPEG resimlerindeki Exif 700 etiketindeki XMP'yi tercih ettiği (spesifikasyonu ihlal ettiği) belgelenmiştir. Bu nedenle, mevcut XMP verilerine sahip resimler okunurken/yazılırken bu davranış korunur.
  • 8.191 pikselden yüksek veya geniş WebP resimleri yazarken bozuk çıktıyı düzeltme (b/342697059).
  • Bu kitaplıkta artık tür kullanımı olan JSpecify nullness ek açıklamaları kullanılmaktadır. Kotlin geliştiricileri, doğru kullanımı zorunlu kılmak için aşağıdaki derleyici bağımsız değişkenlerini kullanmalıdır: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode (I5cd0f, b/326456246)
  • Yeni platform API'lerine erişim manuel olarak belirtilmemiştir. Bunun nedeni, AGP 7.3 veya sonraki sürümlerde R8 kullanıldığında (ör. R8 3.3 sürümü) ve AGP 8.1 veya sonraki sürümlerde tüm derlemelerde (ör. D8 8.1 sürümü) API modelleme aracılığıyla otomatik olarak gerçekleşmesidir. AGP kullanmayan müşterilerin D8 8.1 veya sonraki bir sürüme güncellemeleri önerilir. Daha fazla bilgi için bu makaleyi inceleyin. (If6b4c, b/345472586)

1.3.7 sürümü

1.3.7 sürümü

13 Aralık 2023

androidx.exifinterface:exifinterface:1.3.7 yayınlanır. 1.3.7 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Çok büyük bir JPEG APP1 segmenti yazmaya çalışırken ExifInterface.saveAttributes()'ten istisna atayın (eskiden yanlış, kısaltılmış bir uzunluk içeren geçersiz bir APP1 segmenti yazardık:(b/263747161)). Geçersiz bir IFD ofsetiyle karşılaştıktan sonra ayrıştırmaya devam edin (eskiden ayrıştırma hemen durdurulurdu ve bu da yanlış değerlerin döndürülmesine neden olabilirdi: (b/264729367)).

1.3.6 sürümü

1.3.6 sürümü

8 Şubat 2023

androidx.exifinterface:exifinterface:1.3.6 yayınlanır. 1.3.6 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • WebP VP8L parçalarından alfa bitinin okunması düzeltildi (b/255405635).

Sürüm 1.3.5

Sürüm 1.3.5

24 Ekim 2022

androidx.exifinterface:exifinterface:1.3.5 yayınlanır. 1.3.5 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • saveAttributes()'nin geçersiz WebP dosyaları oluşturmasına neden olan iki durum düzeltildi.

Sürüm 1.3.4

Sürüm 1.3.4

5 Ekim 2022

androidx.exifinterface:exifinterface:1.3.4 yayınlanır. 1.3.4 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Özellikleri DNG dosyalarına kaydetme desteği kaldırıldı. 1.3.3'te eklenen destek eksikti ve bozuk dosyalar oluşturuyordu.

Sürüm 1.3.3

Sürüm 1.3.3

4 Ağustos 2021

androidx.exifinterface:exifinterface:1.3.3 yayınlanır. 1.3.3 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Alt bölümle ilgili etiketlerin ayrıştırılması düzeltildi. (aosp/1508143)
  • setDataSource çağrısı sırasında RuntimeException'i önleme. (c8e66e9)
  • skipBytes işlevinin sonsuz döngüye girmesini önleyin. (fdbe88b)
  • MediaMetadataRetriever'dan RuntimeException yakalama. (389b21a)
  • DNG dosyaları için özellikleri kaydetme desteği eklendi (3017dbc)
  • Küçük resim olmayan etiketleri küçük resim etiketleriyle değiştirin. (e1b916d)

1.3.2 sürümü

1.3.2 sürümü

2 Aralık 2020

androidx.exifinterface:exifinterface:1.3.2 yayınlanır. 1.3.2 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • GPS_LATITUDE ve GPS_LONGITUDE için SRATIONAL'e izin verir.
  • DateTime etiketinin ikincil biçimini (2020-01-01 00:00:00) okuma/yazma desteği eklendi.
  • saveAttribute() çağrılırken kaynak dosyanın geçici olarak kaldırılması önlendi.

1.3.1 sürümü

1.3.1 sürümü

14 Ekim 2020

androidx.exifinterface:exifinterface:1.3.1 yayınlanır. 1.3.1 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Resim verilerini MediaProvider'da tutmak için saveAttributes uygulamasını düzeltin

1.3.0 sürümü

1.3.0 sürümü

16 Eylül 2020

androidx.exifinterface:exifinterface:1.3.0 yayınlanır. 1.3.0 sürümü bu taahhütleri içerir.

1.2.0 sürümünden beri yapılan önemli değişiklikler

  • WebP EXIF yazma desteği, yalnızca VP8 veya VP8L parçaları içeren dosyaları içerecek şekilde genişletildi.
  • Büyük resim dosyaları için OutOfMemory istisnalarına neden olan gereksiz arabelleğe alma kaldırıldı.
  • INVALID_DATE_TIME kaldırıldı. Bunun yerine, geçersiz tarih/saat değerleri döndürmek için NULL değerini kullanın.
  • Geçersiz bir değer için getGpsDateTime'ün -1 yerine Long.MIN_VALUE döndürmesini sağladık.

Sürüm 1.3.0-rc01

2 Eylül 2020

androidx.exifinterface:exifinterface:1.3.0-rc01, 1.3.0-beta01 tarihinden bu yana herhangi bir değişiklik içermeden yayınlandı. 1.3.0-rc01 sürümü bu taahhütleri içerir.

Sürüm 1.3.0-beta01

19 Ağustos 2020

androidx.exifinterface:exifinterface:1.3.0-beta01 yayınlanır. 1.3.0-beta01 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • WebP EXIF yazma desteği, yalnızca VP8 veya VP8L parçaları içeren dosyaları içerecek şekilde genişletildi.

API Değişiklikleri

  • INVALID_DATE_TIME kaldırıldı. Bunun yerine, geçersiz bir tarih/saat değeri döndürmek için NULL değerini kullanın.

Hata Düzeltmeleri

  • -1 geçerli bir değer olduğu için getGpsDateTime'ün -1 yerine Long.MIN_VALUE döndürmesini sağladı
  • DateTime ile ilgili alıcılara, tarih dizesinin ofset değerini (+/-) dikkate almaları gerektiğini söyledik.
  • Büyük resim dosyaları için OutOfMemory istisnalarına neden olan gereksiz arabelleğe alma kaldırıldı.
  • Varsayılan yerel ayarı ABD olarak ayarlama
  • Geçici dosya oluşturmak için ".tmp" ekleme işlemi, ön ek eklemeyle değiştirildi.

Sürüm 1.3.0-alpha01

19 Şubat 2020

androidx.exifinterface:exifinterface:1.3.0-alpha01 yayınlanır. 1.3.0-alpha01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Yeni bir yöntem eklendi: ExifInterface.getGpsDateTime()

Sürüm 1.2.0

Sürüm 1.2.0

1 Nisan 2020

androidx.exifinterface:exifinterface:1.2.0 yayınlanır. 1.2.0 sürümü bu taahhütleri içerir.

1.1.0 sürümünden beri yapılan önemli değişiklikler

  • PNG dosyalarına EXIF ekleme desteği eklendi
  • WebP dosyaları ve yalnızca EXIF veri akışı için destek eklendi
  • Belirtilen MIME türünün desteklenip desteklenmediğini kontrol etmek için bir API eklendi
  • Ofset süresi için daha fazla etiket eklendi: TAG_OFFSET_TIME, TAF_OFFSET_TIME_DIGITIZED ve TAG_OFFSET_TIME_ORIGINAL

Sürüm 1.2.0-rc01

19 Şubat 2020

androidx.exifinterface:exifinterface:1.2.0-rc01 yayınlanır. 1.2.0-rc01 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • JPEG dosyalarında XMP verileri varsa JPEG dosyalarının yanlış kaydedilmesine neden olan sorun düzeltildi.

Sürüm 1.2.0-beta01

18 Aralık 2019

androidx.exifinterface:exifinterface:1.2.0-beta01 yayınlanır. 1.2.0-beta01 sürümü bu taahhütleri içerir.

Yeni özellikler

  • PNG dosyalarına EXIF ekleme desteği eklendi
  • WebP dosyalarından EXIF okuma ve yazma desteği eklendi
  • Yalnızca EXIF veri akışı desteği eklendi

API değişiklikleri

  • Belirtilen MIME türünün desteklenip desteklenmediğini kontrol etmek için bir API eklendi
  • OffsetTime* etiketlerinin okuma ve yazma özellikleri kullanıma sunuldu

Hata düzeltmeleri

  • getAttributeRange() için yanlış ofsetlerin döndürülmesi sorunu düzeltildi

1.1.0 sürümü

1.1.0 sürümü

20 Kasım 2019

androidx.exifinterface:exifinterface:1.1.0 yayınlanır. 1.1.0 sürümü bu taahhütleri içerir.

1.0.0 sürümünden bu yana yapılan önemli değişiklikler

  • HEIF biçimi ve daha fazla XMP etiketi desteği
  • File veya FileDescriptor öğesinden ExifInterface nesnesi oluşturma desteği eklendi
  • Özellik almak için daha fazla yöntem eklendi: hasAttribute, getAttributeBytes ve getAttributesRange

Sürüm 1.1.0-rc01

9 Ekim 2019

androidx.exifinterface:exifinterface:1.1.0-rc01 yayınlanır. 1.1.0-rc01 sürümü bu taahhütleri içerir.

Hata düzeltmeleri

  • loadAttributes üzerinde ArrayIndexOutOfBoundsException oluşmasını önlemek için eksik biçim adı (IFD) eklendi
  • saveAttributes çağrılırken bir istisna oluştuğunda kaynak dosyanın silinmesini engelledi
  • Bir dosyanın üzerine yazılmasından sonra saveAttributes() çağrısı yapıldığında ortaya çıkan istisna sorunu düzeltildi.

Sürüm 1.1.0-beta01

2 Temmuz 2019

androidx.exifinterface:exifinterface:1.1.0-beta01 yayınlanır. Bu sürüme dahil edilen taahhütleri burada bulabilirsiniz.

Yeni özellikler

  • @NonNull bağımsız değişkenleri için null ayarlandığında NullPointerException atar
  • XMP etiketleri için destek

API değişiklikleri

  • Özellik bilgisi almak için daha fazla yöntem eklendi
  • hasAttribute, getAttributeBytes ve getAttributesRange

Hata düzeltmeleri

  • Dosya tanımlayıcısı bellek sızıntısını önleme

Sürüm 1.1.0-alpha01

13 Mart 2019

androidx.exifinterface:exifinterface:1.1.0-alpha01 yayınlanır. Bu sürüme dahil edilen tüm taahhütlerin listesini burada bulabilirsiniz.

Yeni özellikler

  • HEIF biçimini destekleme

API değişiklikleri

  • ExifInterface için daha fazla kurucu eklendi
  • Yazım hatası düzeltildi: TAG_CAMARA_OWNER_NAME -> TAG_CAMERA_OWNER_NAME

Hata düzeltmeleri

  • Küçük resim için olası taşma kontrolü düzeltildi (aosp/748608)