Nodejs は画像の回転角度を取得します

王林
リリース: 2023-05-13 18:55:07
オリジナル
778 人が閲覧しました

モバイルデバイスやカメラの普及により、プログラムを通じて写真を処理する必要が多くなりました。その中でも、画像の回転は非常に一般的な要件です。今回はNode.jsを使って画像の回転角度を取得する方法を紹介します。

準備
始める前に、Node.js 環境がインストールされ、構成されていることを確認する必要があります。さらに、画像の Exif 情報を読み取るために使用できる「exif-parser」と呼ばれる Node.js モジュールもインストールする必要があります。

「exif-parser」モジュールのインストール方法は以下の通りです。

npm install exif-parser
画像回転角度の取得方法
取得方法を理解する前に画像の回転角度については、まず Exif についての知識を理解する必要があります。 Exif は、デジタル カメラで撮影された写真に保存されている、カメラのモデル、撮影時間、ISO 値、絞りなどの情報を含むメタデータです。 Exifには、画像の向き情報を記録する「Orientation」という属性が存在します。

このうち、「Orientation」の値は以下の数値になります。
1: 画像がまったく回転されていないことを示し、このときの画像のデフォルトの方向は上です
2: 画像が水平方向に反転されていることを示します
3: 画像が反時計回りに 180 度回転されていることを示します
4: 画像が垂直方向に反転されていることを示します
5: 画像が 90 度回転されていることを示します
6: 画像が時計回りに 90 度回転されていることを示します。
7: 画像が反時計回りに 90 度回転されて水平に反転されていることを示します。
8: 画像が反時計回りに 90 度回転されていることを示します

この情報を使用すると、画像の回転角度を取得することが非常に簡単になります。 Exif情報の「Orientation」属性値を読み取り、さまざまな値に基づいて画像の回転角度を決定するだけです。

画像の回転角度を取得するコードは次のとおりです。

//「exif-parser」モジュールの紹介
const ExifParser = require('exif-parser');
// ファイル読み取りモジュールを導入します
const fs = require('fs');

// 画像パスを定義します
const imagePath = './example.jpg';

// 画像ファイルの読み取り
const imageBuffer = fs.readFileSync(imagePath);

// Exif 情報の解析
const exifParser = ExifParser.create(imageBuffer);
const exifResult = exifParser.parse();

// Orientation 属性値を取得します
const Orientation = exifResult.tags.Orientation;

// に基づいて画像の回転角度を決定します異なる値
letdegree = 0;
スイッチ(向き) {
case 3:

degree = 180;
break;
ログイン後にコピー

case 6:

degree = 90;
break;
ログイン後にコピー

case 8:

degree = 270;
break;
ログイン後にコピー

}

console.log(画像の回転角度は ${degree} 度です );

上記のコードでは、最初に「example.log」という名前の画像を読み取ります。 jpg」画像を取得し、「exif-parser」モジュールを通じて Exif 情報を解析しました。そして、「Orientation」の値に基づいて画像の回転角度が決定されます。最後に、画像の回転角度を出力します。

概要
この記事では、Node.jsを使って画像の回転角度を取得する方法を紹介します。画像の回転角度はExif情報の「Orientation」属性値を読み取ることで決定します。これにより、画像をより便利に処理し、開発効率を向上させることができます。

以上がNodejs は画像の回転角度を取得しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート