Maison >interface Web >Questions et réponses frontales >Nodejs obtient l'angle de rotation de l'image

Nodejs obtient l'angle de rotation de l'image

王林
王林original
2023-05-13 18:55:07808parcourir

Avec la popularité des appareils mobiles et des appareils photo, nous devons souvent traiter les images via des programmes. Parmi eux, la rotation de l’image est une exigence très courante. Dans cet article, nous expliquerons comment obtenir l'angle de rotation d'une image à l'aide de Node.js.

Préparation
Avant de commencer, vous devez vous assurer que l'environnement Node.js a été installé et configuré. De plus, nous devons également installer un module Node.js appelé "exif-parser", qui peut être utilisé pour lire les informations Exif de l'image.

Comment installer le module "exif-parser" est le suivant :

npm install exif-parser
Comment obtenir l'angle de rotation de l'image
Avant de savoir comment obtenir l'angle de rotation de l'image, il faut d'abord comprendre quelques connaissances sur Exif . Exif est constitué de métadonnées stockées dans les images prises par des appareils photo numériques, notamment le modèle de l'appareil photo, l'heure de prise de vue, la valeur ISO, l'ouverture et d'autres informations. Dans Exif, il existe un attribut appelé « Orientation », qui enregistre les informations d'orientation de l'image.

Parmi eux, la valeur de « Orientation » peut être les nombres suivants :
1 : Indique que l'image n'a pas été tournée du tout et que la direction par défaut de l'image est vers le haut à ce moment
2 : Indique que l'image est retournée horizontalement
3 : Indique que l'image est tournée de 180 degrés dans le sens inverse des aiguilles d'une montre
4 : Indique que l'image est retournée verticalement
5 : Indique que l'image est tournée de 90 degrés dans le sens des aiguilles d'une montre et retournée horizontalement
6 : Indique que l'image est tournée de 90 degrés dans le sens des aiguilles d'une montre
7 : Indique que l'image est tournée de 90 degrés dans le sens inverse des aiguilles d'une montre et retournée horizontalement
8 : Indique que l'image est tournée dans le sens inverse des aiguilles d'une montre. Rotation de 90 degrés

Avec ces informations, obtenir l'angle de rotation de l'image devient très simple. Il suffit de lire la valeur de l'attribut "Orientation" dans les informations Exif et de déterminer l'angle de rotation de l'image en fonction de différentes valeurs.

Voici le code pour obtenir l'angle de rotation de l'image :

//Introduire le module "exif-parser"
const ExifParser = require('exif-parser');
//Introduire le module de lecture de fichiers
const fs = require(' fs');

// Définir le chemin de l'image
const imagePath = './example.jpg';

// Lire le fichier image
const imageBuffer = fs.readFileSync(imagePath);

// Analyser Informations Exif
const exifParser = ExifParser.create(imageBuffer);
const exifResult = exifParser.parse();

// Obtenir la valeur de l'attribut Orientation
const orientation = exifResult.tags.Orientation;

// Déterminer l'image en fonction sur différentes valeurs Angle de rotation
let degré = 0;
switch (orientation) {
cas 3:

degree = 180;
break;

cas 6:

degree = 90;
break;

cas 8:

degree = 270;
break;

}

console.log(图片旋转角度为 ${degree} 度);

Dans le au-dessus du code, nous lisons d'abord une image nommée "example.jpg" et analysons les informations Exif via le module "exif-parser". Ensuite, l'angle de rotation de l'image est déterminé en fonction de la valeur de « Orientation ». Enfin, l'angle de rotation de l'image est imprimé.

Résumé
Cet article explique comment utiliser Node.js pour obtenir l'angle de rotation d'une image. Nous déterminons l'angle de rotation de l'image en lisant la valeur de l'attribut "Orientation" dans les informations Exif. De cette manière, nous pouvons traiter les images plus facilement et améliorer l’efficacité de notre développement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn