Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mengakses Data Putaran JPEG EXIF ​​dalam JavaScript?

Bagaimana untuk Mengakses Data Putaran JPEG EXIF ​​dalam JavaScript?

Patricia Arquette
Patricia Arquetteasal
2024-11-02 19:15:02701semak imbas

How to Access JPEG EXIF Rotation Data in JavaScript?

Mengakses Data Putaran JPEG EXIF ​​​​dalam JavaScript Sisi Pelayar

Apabila bekerja dengan imej JPEG, selalunya wajar untuk mengekalkan maklumat orientasi asalnya ditangkap oleh kamera. Data ini disimpan dalam komponen EXIF ​​fail JPEG. Untuk mengakses bahagian pelanggan data ini menggunakan JavaScript, terdapat beberapa langkah yang perlu diikuti:

  1. Baca Fail JPEG:

    • Gunakan API FileReader untuk membaca fail JPEG setempat atau mendapatkannya daripada sumber jauh apabila ia telah dimuatkan sebagai elemen imej ().
  2. Menghuraikan Data EXIF:

    • Setelah fail dibaca, data EXIF ​​boleh diekstrak dengan mencipta objek DataView daripada hasilnya.
    • Gelung melalui DataView sehingga Pengepala EXIF ​​(0xFFE1) ditemui.
  3. Cari Teg Orientasi:

    • Hilangkan data EXIF ​​untuk mencari Teg orientasi (0x0112). Nilai teg mewakili putaran yang diperlukan dalam darjah.

Berikut ialah contoh coretan kod JavaScript yang melaksanakan langkah ini:

<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>

Kod ini memerlukan fail elemen input untuk memilih fail JPEG. Fungsi getOrientation kemudiannya boleh dipanggil dengan objek fail untuk mendapatkan semula nilai orientasi, yang boleh digunakan untuk memutarkan imej dengan sewajarnya.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Data Putaran JPEG EXIF ​​dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn