Exifinterface

EXIF-Tags von Bilddateien lesen und schreiben.
Letzte Aktualisierung Stabile Version Release Candidate Beta-Ausgabe Alphaversion
13. November 2024 1.3.7 - - 1.4.0-alpha01

Abhängigkeiten deklarieren

Wenn Sie eine Abhängigkeit von Exifinterface hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.

Fügen Sie der Datei build.gradle für Ihre App oder Ihr Modul die Abhängigkeiten für die erforderlichen Artefakte hinzu:

Cool

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

Kotlin

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

Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.

Feedback

Ihr Feedback hilft uns, Jetpack zu verbessern. Bitte teilen Sie uns mit, wenn Sie neue Probleme feststellen oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können einem vorhandenen Problem Ihre Stimme geben, indem Sie auf die Schaltfläche mit dem Stern klicken.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Version 1.4

Version 1.4.0-alpha01

13. November 2024

androidx.exifinterface:exifinterface:1.4.0-alpha01 wird veröffentlicht. Version 1.4.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Unterstützung für das Lesen von XMP-Daten aus HEIF-Bildern hinzugefügt.
  • Unterstützung für das Lesen von Exif- und XMP-Daten aus AVIF-Bildern

API-Änderungen

  • Angeben, dass der location-Parameter für setGpsInfo @Nullable ist und dass das Übergeben von null zu einer Null-Operation führt. (If924c, b/236484611)

Fehlerkorrekturen

  • Parsing fortsetzen, nachdem ein ungültiger IFD-Offset gefunden wurde (b/264729367).
  • Umgang mit WebP-Bildern, die fälschlicherweise eine JPEG APP1-Markierung vor ihren Exif-Daten enthalten (b/281638358).
  • Achten Sie darauf, dass XMP-Änderungen in JPEGs mit einem separaten XMP-Segment von saveAttributes() in demselben separaten XMP-Segment gespeichert werden, anstatt in TIFF/Exif-Tag 700 geschrieben zu werden, das nicht von der XMP-Spezifikation unterstützt wird und in dem viele Tools sie nicht finden.
  • Vermeiden Sie beim Speichern das Duplizieren von XMP-Daten aus einem separaten Segment in das TIFF-Vorschauverzeichnis (b/309843390).
  • Die Genauigkeit von Konvertierungen von Dezimalzahlen in rationale Zahlen wurde verbessert. (b/312680558).
  • Akzeptieren des rationalen Formats (x/y) für setAttribute für „alte“ rationale Tags, die automatisch in Dezimalzahlen umgewandelt werden, wenn sie von getAttribute zurückgegeben werden (b/312680558).
  • XMP-Daten, die einem JPEG-Bild hinzugefügt werden, das noch keine XMP-Daten enthält, müssen gemäß der XMP-Spezifikation in ein separates Segment geschrieben werden. ExifInterface bevorzugt XMP-Daten im Exif 700-Tag in JPEG-Bildern (was gegen die Spezifikation verstößt). Dieses Verhalten wird beim Lesen und Schreiben von Bildern mit vorhandenen XMP-Daten beibehalten.
  • Behebung eines Fehlers, durch den beim Schreiben von WebP-Bildern mit einer Höhe oder Breite von mehr als 8.191 Pixeln eine beschädigte Ausgabe erstellt wurde (b/342697059).
  • Diese Bibliothek verwendet jetzt JSpecify-Null-Anmerkungen, die sich auf den Typ beziehen. Kotlin-Entwickler sollten die folgenden Compilerargumente verwenden, um die korrekte Verwendung zu erzwingen: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode (I5cd0f, b/326456246)
  • Die manuelle Kennzeichnung des Zugriffs auf neue Plattform-APIs wurde entfernt, da dies bei Verwendung von R8 mit AGP 7.3 oder höher (z.B. R8 Version 3.3) und für alle Builds bei Verwendung von AGP 8.1 oder höher (z.B. D8 Version 8.1) automatisch über die API-Modellierung erfolgt. Kunden, die AGP nicht verwenden, wird empfohlen, auf D8 Version 8.1 oder höher zu aktualisieren. Weitere Details findest du in diesem Artikel. (If6b4c, b/345472586)

Version 1.3.7

Version 1.3.7

13. Dezember 2023

androidx.exifinterface:exifinterface:1.3.7 wird veröffentlicht. Version 1.3.7 enthält diese Commits.

Fehlerkorrekturen

  • Es wird eine Ausnahme von ExifInterface.saveAttributes() geworfen, wenn versucht wird, ein zu großes JPEG-APP1-Segment zu schreiben. Bisher wurde ein ungültiges APP1-Segment mit einer falschen, abgeschnittenen Länge geschrieben:(b/263747161). Das Parsen wird fortgesetzt, nachdem ein ungültiger IFD-Offset gefunden wurde. Bisher wurde das Parsen sofort beendet, was zu falschen zurückgegebenen Werten führen konnte: (b/264729367).

Version 1.3.6

Version 1.3.6

8. Februar 2023

androidx.exifinterface:exifinterface:1.3.6 wird veröffentlicht. Version 1.3.6 enthält diese Commits.

Fehlerkorrekturen

  • Korrektur beim Lesen des Alphabits aus WebP VP8L-Chunks (b/255405635).

Version 1.3.5

Version 1.3.5

24. Oktober 2022

androidx.exifinterface:exifinterface:1.3.5 wird veröffentlicht. Version 1.3.5 enthält diese Commits.

Fehlerkorrekturen

  • Behebung von zwei Fällen, in denen saveAttributes() ungültige WebP-Dateien generierte.

Version 1.3.4

Version 1.3.4

5. Oktober 2022

androidx.exifinterface:exifinterface:1.3.4 wird veröffentlicht. Version 1.3.4 enthält diese Commits.

Fehlerkorrekturen

  • Die Unterstützung für das Speichern von Attributen in DNG-Dateien wurde entfernt. Die in 1.3.3 hinzugefügte Unterstützung war unvollständig und führte zu beschädigten Dateien.

Version 1.3.3

Version 1.3.3

4. August 2021

androidx.exifinterface:exifinterface:1.3.3 wird veröffentlicht. Version 1.3.3 enthält diese Commits.

Fehlerkorrekturen

  • Fehler beim Parsen von Unterabschnitts-Tags behoben. (aosp/1508143)
  • RuntimeException beim Aufrufen von setDataSource verhindern (c8e66e9)
  • Verhindern, dass „skipBytes“ in einer Endlosschleife läuft. (fdbe88b)
  • RuntimeException von MediaMetadataRetriever abfangen (389b21a)
  • Unterstützung für das Speichern von Attributen für DNG-Dateien hinzugefügt (3017dbc)
  • Ersetzen Sie Tags, die keine Miniaturansicht enthalten, durch Miniaturansicht-Tags. (e1b916d)

Version 1.3.2

Version 1.3.2

2. Dezember 2020

androidx.exifinterface:exifinterface:1.3.2 wird veröffentlicht. Version 1.3.2 enthält diese Commits.

Fehlerkorrekturen

  • Ermöglicht SRATIONAL für GPS_LATITUDE und GPS_LONGITUDE.
  • Es wird jetzt ein sekundäres Format (2020-01-01 00:00:00) des DateTime-Tags unterstützt.
  • Das vorübergehende Entfernen der Originaldatei beim Aufrufen von saveAttribute() wurde verhindert.

Version 1.3.1

Version 1.3.1

14. Oktober 2020

androidx.exifinterface:exifinterface:1.3.1 wird veröffentlicht. Version 1.3.1 enthält diese Commits.

Fehlerkorrekturen

  • Fehlerbehebung bei der Implementierung von saveAttributes, damit die Bilddaten im MediaProvider gespeichert bleiben

Version 1.3.0

Version 1.3.0

16. September 2020

androidx.exifinterface:exifinterface:1.3.0 wird veröffentlicht. Version 1.3.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.2.0

  • Erweiterte Unterstützung für das Schreiben von WebP-EXIF-Dateien, einschließlich Dateien, die nur VP8- oder VP8L-Chunks enthalten.
  • Unnötiges Puffern wurde entfernt, das bei großen Bilddateien zu OutOfMemory-Ausnahmen führte.
  • INVALID_DATE_TIME wurde entfernt. Verwenden Sie stattdessen NULL, um ungültige Datums-/Zeitwerte zurückzugeben.
  • Bei ungültigen Werten gibt getGpsDateTime jetzt Long.MIN_VALUE statt -1 zurück.

Version 1.3.0-rc01

2. September 2020

androidx.exifinterface:exifinterface:1.3.0-rc01 wird seit 1.3.0-beta01 unverändert veröffentlicht. Version 1.3.0-rc01 enthält diese Commits.

Version 1.3.0-beta01

19. August 2020

androidx.exifinterface:exifinterface:1.3.0-beta01 wird veröffentlicht. Version 1.3.0-beta01 enthält diese Commits.

Neue Funktionen

  • Erweiterte Unterstützung für das Schreiben von WebP-EXIF-Dateien, einschließlich Dateien, die nur VP8- oder VP8L-Chunks enthalten.

API-Änderungen

  • INVALID_DATE_TIME wurde entfernt. Verwenden Sie stattdessen NULL, um einen ungültigen Zeitstempel zurückzugeben.

Fehlerkorrekturen

  • Bei getGpsDateTime wird jetzt Long.MIN_VALUE anstelle von -1 zurückgegeben, da -1 ein gültiger Wert ist.
  • Bei DateTime-bezogenen Gettern wird jetzt der Offsetwert (+/-) des Datumsstrings berücksichtigt.
  • Unnötiges Puffern wurde entfernt, das bei großen Bilddateien zu OutOfMemory-Ausnahmen führte.
  • „USA“ als Standard-Standort festlegen
  • Das Hinzufügen von „.tmp“ zum Erstellen von temporären Dateien wurde durch das Hinzufügen eines Präfixes ersetzt.

Version 1.3.0-alpha01

19. Februar 2020

androidx.exifinterface:exifinterface:1.3.0-alpha01 wird veröffentlicht. Version 1.3.0-alpha01 enthält diese Commits.

API-Änderungen

  • Neue Methode hinzugefügt: ExifInterface.getGpsDateTime()

Version 1.2.0

Version 1.2.0

1. April 2020

androidx.exifinterface:exifinterface:1.2.0 wird veröffentlicht. Version 1.2.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.1.0

  • Unterstützung für das Hinzufügen von EXIF-Daten zu PNG-Dateien
  • Unterstützung für WebP-Dateien und Streams mit reinen EXIF-Daten hinzugefügt
  • Es wurde eine API hinzugefügt, um zu prüfen, ob der angegebene MIME-Typ unterstützt wird.
  • Es wurden weitere Tags für die Zeitverschiebung hinzugefügt: TAG_OFFSET_TIME, TAF_OFFSET_TIME_DIGITIZED und TAG_OFFSET_TIME_ORIGINAL.

Version 1.2.0-rc01

19. Februar 2020

androidx.exifinterface:exifinterface:1.2.0-rc01 wird veröffentlicht. Version 1.2.0-rc01 enthält diese Commits.

Fehlerkorrekturen

  • Ein Problem wurde behoben, bei dem JPEG-Dateien nicht korrekt gespeichert wurden, wenn sie XMP-Daten enthielten.

Version 1.2.0-beta01

18. Dezember 2019

androidx.exifinterface:exifinterface:1.2.0-beta01 wird veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.

Neue Funktionen

  • Unterstützung für das Hinzufügen von EXIF-Daten zu PNG-Dateien
  • Unterstützung für das Lesen und Schreiben von EXIF-Daten aus WebP-Dateien hinzugefügt
  • Unterstützung für einen Stream mit reinen EXIF-Daten hinzugefügt

API-Änderungen

  • Es wurde eine API hinzugefügt, um zu prüfen, ob der angegebene MIME-Typ unterstützt wird.
  • Die Lese- und Schreib-OffsetTime*-Tags wurden freigegeben.

Fehlerkorrekturen

  • Ein Problem wurde behoben, bei dem für getAttributeRange() falsche Abweichungen zurückgegeben wurden.

Version 1.1.0

Version 1.1.0

20. November 2019

androidx.exifinterface:exifinterface:1.1.0 wird veröffentlicht. Version 1.1.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.0.0

  • Unterstützung für das HEIF-Format und weitere XMP-Tags
  • Unterstützung für das Erstellen eines ExifInterface-Objekts aus einem File- oder FileDescriptor-Objekt hinzugefügt
  • Es wurden weitere Methoden zum Abrufen von Attributen hinzugefügt: hasAttribute, getAttributeBytes und getAttributesRange.

Version 1.1.0-rc01

9. Oktober 2019

androidx.exifinterface:exifinterface:1.1.0-rc01 wird veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.

Fehlerkorrekturen

  • Ein fehlender Formatname (IFD) wurde hinzugefügt, um ArrayIndexOutOfBoundsException auf loadAttributes zu verhindern.
  • Das Löschen der Quelldatei wird verhindert, wenn beim Aufruf von saveAttributes eine Ausnahme auftritt.
  • Ein Ausnahmeproblem wurde behoben, das auftrat, wenn nach dem Überschreiben einer Datei saveAttributes() aufgerufen wurde.

Version 1.1.0-beta01

2. Juli 2019

androidx.exifinterface:exifinterface:1.1.0-beta01 wird veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

Neue Funktionen

  • Lässt NullPointerException werfen, wenn null für @NonNull-Argumente festgelegt ist
  • Unterstützung für XMP-Tags

API-Änderungen

  • Es wurden weitere Methoden zum Abrufen von Attributinformationen hinzugefügt.
  • hasAttribute, getAttributeBytes und getAttributesRange

Fehlerkorrekturen

  • Speicherlecks bei Dateideskriptoren verhindern

Version 1.1.0-alpha01

13. März 2019

androidx.exifinterface:exifinterface:1.1.0-alpha01 wird veröffentlicht. Eine vollständige Liste der Commits in dieser Version finden Sie hier.

Neue Funktionen

  • HEIF-Format unterstützen

API-Änderungen

  • Es wurden weitere Konstruktoren für ExifInterface hinzugefügt.
  • Fehler korrigiert: TAG_CAMARA_OWNER_NAME -> TAG_CAMERA_OWNER_NAME

Fehlerkorrekturen

  • Die Prüfung auf möglichen Überlauf für die Miniaturansicht wurde korrigiert (aosp/748608)