首頁 > web前端 > js教程 > 主體

如何在 JavaScript 中存取 JPEG EXIF 旋轉資料?

Patricia Arquette
發布: 2024-11-02 19:15:02
原創
762 人瀏覽過

How to Access JPEG EXIF Rotation Data in JavaScript?

在瀏覽器端JavaScript 中存取JPEG EXIF 旋轉資料

處理JPEG 影像時,通常需要保留捕捉的原始方向資訊。該數據儲存在 JPEG 檔案的 EXIF 部分中。要使用JavaScript 用戶端存取此數據,需要執行以下步驟:

  1. 讀取JPEG 檔案:

    • 使用FileReader API 讀取本機JPEG 文件,或在它已作為圖像元素(如何在 JavaScript 中存取 JPEG EXIF 旋轉資料?) 載入時從遠端來源檢索該文件。
  2. 解析EXIF 資料:

    • 讀取檔案後,可以透過從結果中建立EXIFView 物件來擷取EX數據。
    • 循環遍歷 DataView,直到找到 EXIF 標頭 (0xFFE1)。
  3. 找出方向標籤:

    • 解析 EXIF 資料以找到方向標籤(0x0112)。標籤的值表示所需的旋轉度數。

以下是執行這些步驟的範例 JavaScript 程式碼片段:

<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>
登入後複製

此程式碼需要一個檔案輸入元素來選擇 JPEG 檔案。然後可以使用檔案物件呼叫 getOrientation 函數來檢索方向值,該值可用於相應地旋轉影像。

以上是如何在 JavaScript 中存取 JPEG EXIF 旋轉資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板