Heim  >  Artikel  >  Web-Frontend  >  Wie greife ich in JavaScript auf JPEG-EXIF-Rotationsdaten zu?

Wie greife ich in JavaScript auf JPEG-EXIF-Rotationsdaten zu?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-02 19:15:02701Durchsuche

How to Access JPEG EXIF Rotation Data in JavaScript?

Zugriff auf JPEG-EXIF-Rotationsdaten in browserseitigem JavaScript

Bei der Arbeit mit JPEG-Bildern ist es oft wünschenswert, ihre ursprünglich erfassten Ausrichtungsinformationen beizubehalten durch die Kamera. Diese Daten werden in der EXIF-Komponente von JPEG-Dateien gespeichert. Um clientseitig mit JavaScript auf diese Daten zuzugreifen, müssen Sie einige Schritte befolgen:

  1. JPEG-Datei lesen:

    • Verwenden Sie die FileReader-API, um die lokale JPEG-Datei zu lesen oder sie von einer Remote-Quelle abzurufen, wenn sie bereits als Bildelement () geladen ist.
  2. Analysieren Sie die EXIF-Daten:

    • Sobald die Datei gelesen wurde, können die EXIF-Daten extrahiert werden, indem aus dem Ergebnis ein DataView-Objekt erstellt wird.
    • Durchlaufen Sie die DataView, bis die Der EXIF-Header (0xFFE1) wurde gefunden.
  3. Orientierungs-Tag finden:

    • Parsen Sie die EXIF-Daten, um den zu finden Orientierungs-Tag (0x0112). Der Wert des Tags stellt die erforderliche Drehung in Grad dar.

Hier ist ein Beispiel eines JavaScript-Codeausschnitts, der diese Schritte ausführt:

<code class="javascript">function getOrientation(file, callback) {
    var reader = new FileReader();
    reader.onload = function(e) {
        var view = new DataView(e.target.result);
        var orientation = -1;
        if (view.getUint16(0, false) == 0xFFD8) {
            var length = view.byteLength, offset = 2;
            while (offset < length) {
                var marker = view.getUint16(offset, false);
                if (marker == 0xFFE1) {
                    orientation = view.getUint16(offset + (i * 12) + 8, little);
                    break;
                }
                else if ((marker &amp; 0xFF00) != 0xFF00) {
                    break;
                }
                else {
                    offset += view.getUint16(offset, false);
                }
            }
        }
        callback(orientation);
    };
    reader.readAsArrayBuffer(file);
}</code>

Für diesen Code ist eine Datei erforderlich Eingabeelement zur Auswahl der JPEG-Datei. Anschließend kann die Funktion getOrientation mit dem Dateiobjekt aufgerufen werden, um den Ausrichtungswert abzurufen, der zum entsprechenden Drehen des Bildes verwendet werden kann.

Das obige ist der detaillierte Inhalt vonWie greife ich in JavaScript auf JPEG-EXIF-Rotationsdaten zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn