JavaScript で JPEG EXIF 回転データにアクセスするにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-02 19:15:02
オリジナル
699 人が閲覧しました

How to Access JPEG EXIF Rotation Data in JavaScript?

ブラウザ側 JavaScript での JPEG EXIF 回転データへのアクセス

JPEG 画像を操作する場合、キャプチャされた元の方向情報を保持することが望ましいことがよくあります。カメラで。このデータは、JPEG ファイルの EXIF コンポーネントに保存されます。 JavaScript を使用してクライアント側でこのデータにアクセスするには、いくつかの手順に従います:

  1. JPEG ファイルを読み取ります:

    • FileReader API を使用して、ローカル JPEG ファイルを読み取るか、すでに画像要素 () として読み込まれている場合はリモート ソースからファイルを取得します。
  2. EXIF データを解析します:

    • ファイルが読み取られたら、その結果から DataView オブジェクトを作成することで EXIF データを抽出できます。
    • 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>
ログイン後にコピー

このコードにはファイルが必要ですinput 要素を使用して JPEG ファイルを選択します。次に、ファイル オブジェクトを使用して getOrientation 関数を呼び出して向きの値を取得し、それに応じて画像を回転するために使用できます。

以上がJavaScript で JPEG EXIF 回転データにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!