Table des matières
Dépendances d'installation
引用gm
其它功能
Maison interface Web js tutoriel Parlons de la façon dont Nodejs utilise gm et imageMagick pour traiter les images

Parlons de la façon dont Nodejs utilise gm et imageMagick pour traiter les images

Aug 15, 2022 pm 07:42 PM
nodejs​ node

NodejsComment traiter les images ? L'article suivant vous présentera comment Nodejs utilise gm et imageMagick pour traiter les images. J'espère qu'il vous sera utile !

Parlons de la façon dont Nodejs utilise gm et imageMagick pour traiter les images

Récemment, j'utilise JS pour faire des choses amusantes et j'ai besoin de traiter des images. Il existe de nombreux didacticiels sur Internet proposant différentes méthodes, et certaines méthodes ne fonctionnent pas nécessairement. Cet article partagera avec vous une méthode vérifiée par l'auteur pour utiliser NodeJS pour traiter les images.

Dépendances d'installation

npm i gm
Copier après la connexion

gm est une bibliothèque Node qui fournit certaines API JS afin que les développeurs puissent traiter des images. Mais il s'appuie sur GraphicsMagick, ou sur ImageMagick. En fait, gm est la ligne de commande qui appelle ces deux outils.

En d'autres termes, en plus d'installer gm, nous devons également installer GraphicsMagick ou ImageMagick.

ImageMagick

L'auteur vient de MacOS et a directement choisi d'installer ImageMagick.

Suivez la commande du site officiel, qui ne nécessite qu'1 ligne de code (à condition d'avoir installé Brew sur votre Mac) :

brew install imagemagick --with-webp
Copier après la connexion

Introduisez le paramètre --with-webp, vous pouvez le supprimer, Mais si vous souhaitez traiter des images au format webp, vous devez l'ajouter. --with-webp,你是可以删掉的,但如果你希望处理webp格式的图片,一定要加上。

用brew比较方便,自己不用操心环境变量了。

GraphicsMagick

当然,如果你不用ImageMagick,想用GraphicsMagick也是完全可以的:

brew install graphicsmagick
Copier après la connexion

引用gm

一开始我选择了安装ImageMagick,这么写,总是报错:

const gm = require('gm');

gm('图片文件路径').crop(width, height, 0, 0).resize(width2, height2).quality(quality).write('输出文件路径', function (err) {
  if (err) {
    return console.log(err);
  } else {
    console.log('success');
  }
});
Copier après la connexion

如果要用ImageMagick,上面写法其实是不对的,应该这样写,明确指定我要用ImageMagick工具:

const g = require('gm');
const gm = g.subClass({imageMagick: true});

gm('图片文件路径').crop(width, height, 0, 0).resize(width2, height2).quality(quality).write('输出文件路径', function (err) {
  if (err) {
    return console.log(err);
  } else {
    console.log('success');
  }
});
Copier après la connexion

其它功能

记录一下gm的常用功能,供大家备忘:

注意:gm是可以链式调用的,写起来很爽,从gm(filename)读取图片文件,一层一层处理,最后写入文件.write(filename, callback)。

缩放图片

.resize(width, height)

裁剪图片

.crop(width, height, x, y)

旋转图片

.rotate(color, deg)

Il est plus pratique d'utiliser Brew. Vous n'avez pas à vous soucier des variables d'environnement.

GraphicsMagick

🎜🎜Bien sûr, si vous n'utilisez pas ImageMagick, vous pouvez utiliser GraphicsMagick :🎜rrreee🎜🎜Quote gm🎜🎜🎜Au début, j'ai choisi d'installer ImageMagick Quand j'écris ceci, je reçois toujours. une erreur :🎜rrreee 🎜Si vous souhaitez utiliser ImageMagick, l'écriture ci-dessus est en fait fausse. Elle devrait être écrite comme ceci, en précisant clairement que je souhaite utiliser l'outil ImageMagick : 🎜rrreee🎜🎜Autre. fonctions🎜🎜🎜Enregistrez les fonctions communes de gm pour tout le monde Mémo : 🎜🎜🎜Remarque : gm peut être appelé dans une chaîne, ce qui est très amusant à écrire. Il lit les fichiers image de gm(nom de fichier), les traite couche par couche, et enfin écrit dans le fichier.write(filename, callback). 🎜🎜🎜🎜🎜Zoomer l'image🎜🎜🎜🎜.resize(largeur, hauteur)🎜🎜🎜🎜Recadrer l'image🎜🎜🎜🎜.crop(largeur, hauteur, x, y )🎜🎜🎜🎜Faire pivoter l'image🎜🎜🎜🎜<code>.rotate(color, deg)🎜🎜color est la couleur d'arrière-plan (la couleur d'arrière-plan est pratique si l'angle de rotation en degrés est pas un multiple de 90, utilisez simplement le format '#ededed')🎜🎜Pour plus de connaissances sur les nœuds, veuillez visiter : 🎜tutoriel nodejs🎜 ! 🎜

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment supprimer un nœud dans NVM Comment supprimer un nœud dans NVM Dec 29, 2022 am 10:07 AM

Comment supprimer un nœud avec nvm : 1. Téléchargez « nvm-setup.zip » et installez-le sur le lecteur C ; 2. Configurez les variables d'environnement et vérifiez le numéro de version via la commande « nvm -v » 3. Utilisez la commande « nvm » ; install" commande Installer le nœud ; 4. Supprimez le nœud installé via la commande "nvm uninstall".

Comment utiliser Express pour gérer le téléchargement de fichiers dans un projet de nœud Comment utiliser Express pour gérer le téléchargement de fichiers dans un projet de nœud Mar 28, 2023 pm 07:28 PM

Comment gérer le téléchargement de fichiers ? L'article suivant vous expliquera comment utiliser Express pour gérer les téléchargements de fichiers dans le projet de nœud. J'espère qu'il vous sera utile !

Une analyse approfondie de l'outil de gestion de processus de Node « pm2 » Une analyse approfondie de l'outil de gestion de processus de Node « pm2 » Apr 03, 2023 pm 06:02 PM

Cet article partagera avec vous l'outil de gestion de processus de Node "pm2" et expliquera pourquoi pm2 est nécessaire, comment installer et utiliser pm2, j'espère qu'il sera utile à tout le monde !

Enseignement du nœud PI: Qu'est-ce qu'un nœud PI? Comment installer et configurer le nœud PI? Enseignement du nœud PI: Qu'est-ce qu'un nœud PI? Comment installer et configurer le nœud PI? Mar 05, 2025 pm 05:57 PM

Explication détaillée et guide d'installation pour les nœuds de pignon Cet article introduira l'écosystème de pignon en détail - nœuds PI, un rôle clé dans l'écosystème de pignon et fournir des étapes complètes pour l'installation et la configuration. Après le lancement du réseau de test de la blockchain pèse, les nœuds PI sont devenus une partie importante de nombreux pionniers participant activement aux tests, se préparant à la prochaine version du réseau principal. Si vous ne connaissez pas encore Pinetwork, veuillez vous référer à ce qu'est Picoin? Quel est le prix de l'inscription? PI Utilisation, exploitation minière et sécurité. Qu'est-ce que Pinetwork? Le projet Pinetwork a commencé en 2019 et possède sa pièce exclusive de crypto-monnaie PI. Le projet vise à en créer un que tout le monde peut participer

Parlons de la façon d'utiliser pkg pour empaqueter des projets Node.js dans des fichiers exécutables. Parlons de la façon d'utiliser pkg pour empaqueter des projets Node.js dans des fichiers exécutables. Dec 02, 2022 pm 09:06 PM

Comment empaqueter le fichier exécutable nodejs avec pkg ? L'article suivant vous expliquera comment utiliser pkg pour empaqueter un projet Node dans un fichier exécutable. J'espère qu'il vous sera utile !

Que faire si le nœud npm gyp échoue Que faire si le nœud npm gyp échoue Dec 29, 2022 pm 02:42 PM

npm node gyp a échoué car les versions de « node-gyp.js » et « Node.js » ne correspondaient pas. La solution : 1. Videz le cache du nœud via « npm cache clean -f » 2. Via « npm install - ». g n" Installez le module n ; 3. Installez la version "node v12.21.0" via la commande "n v12.21.0".

Authentification basée sur des jetons avec Angular et Node Authentification basée sur des jetons avec Angular et Node Sep 01, 2023 pm 02:01 PM

L'authentification est l'une des parties les plus importantes de toute application Web. Ce didacticiel traite des systèmes d'authentification basés sur des jetons et de leurs différences par rapport aux systèmes de connexion traditionnels. À la fin de ce didacticiel, vous verrez une démo entièrement fonctionnelle écrite en Angular et Node.js. Systèmes d'authentification traditionnels Avant de passer aux systèmes d'authentification basés sur des jetons, examinons les systèmes d'authentification traditionnels. L'utilisateur fournit son nom d'utilisateur et son mot de passe dans le formulaire de connexion et clique sur Connexion. Après avoir effectué la demande, authentifiez l'utilisateur sur le backend en interrogeant la base de données. Si la demande est valide, une session est créée à l'aide des informations utilisateur obtenues à partir de la base de données et les informations de session sont renvoyées dans l'en-tête de réponse afin que l'ID de session soit stocké dans le navigateur. Donne accès aux applications soumises à

Qu'est-ce qu'un système d'authentification unique ? Comment l'implémenter en utilisant nodejs ? Qu'est-ce qu'un système d'authentification unique ? Comment l'implémenter en utilisant nodejs ? Feb 24, 2023 pm 07:33 PM

Qu'est-ce qu'un système d'authentification unique ? Comment l'implémenter en utilisant nodejs ? L'article suivant vous présentera comment utiliser Node pour implémenter un système d'authentification unique. J'espère qu'il vous sera utile !

See all articles