


Parlons de la façon dont Nodejs utilise gm et imageMagick pour traiter les images
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 !
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
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
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
引用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'); } });
如果要用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'); } });
其它功能
记录一下gm的常用功能,供大家备忘:
注意:gm是可以链式调用的,写起来很爽,从gm(filename)读取图片文件,一层一层处理,最后写入文件.write(filename, callback)。
缩放图片
.resize(width, height)
裁剪图片
.crop(width, height, x, y)
旋转图片
.rotate(color, deg)
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

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 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 !

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 !

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

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 !

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".

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 ? 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 !
