NodejsWie verarbeite ich Bilder? Der folgende Artikel stellt Ihnen vor, wie Nodejs gm und imageMagick zum Verarbeiten von Bildern verwendet. Ich hoffe, er wird Ihnen hilfreich sein!
Vor kurzem verwende ich JS, um lustige Dinge zu tun und Bilder zu verarbeiten. Im Internet gibt es viele Tutorials mit verschiedenen Methoden, und einige Methoden funktionieren möglicherweise nicht unbedingt. In diesem Artikel stellen wir Ihnen eine vom Autor verifizierte Methode vor, mit der Sie NodeJS zum Verarbeiten von Bildern verwenden können.
npm i gm
gm ist eine Node-Bibliothek, die einige JS-APIs bereitstellt, damit Entwickler Bilder verarbeiten können. Aber es basiert auf GraphicsMagick oder ImageMagick darunter. Tatsächlich ist gm die Befehlszeile zum Aufrufen dieser beiden Tools.
Mit anderen Worten: Zusätzlich zur Installation von gm müssen wir auch entweder GraphicsMagick oder ImageMagick installieren.
ImageMagick
Der Autor kommt von MacOS und hat sich direkt für die Installation von ImageMagick entschieden.
Folgen Sie dem offiziellen Website-Befehl, der nur 1 Zeile Code erfordert (vorausgesetzt, Sie haben brew auf Ihrem Mac installiert):
brew install imagemagick --with-webp
Fügen Sie den Parameter --with-webp
ein, Sie können ihn löschen, Wenn Sie jedoch Bilder im WebP-Format verarbeiten möchten, müssen Sie es hinzufügen. --with-webp
,你是可以删掉的,但如果你希望处理webp格式的图片,一定要加上。
用brew比较方便,自己不用操心环境变量了。
GraphicsMagick
当然,如果你不用ImageMagick,想用GraphicsMagick也是完全可以的:
brew install graphicsmagick
一开始我选择了安装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
-Tool verwenden möchte: 🎜rrreee🎜🎜Sonstiges Funktionen🎜🎜🎜Zeichnen Sie die allgemeinen Funktionen von gm für alle auf. Notiz: 🎜🎜🎜Hinweis: gm kann in einer Kette aufgerufen werden, was sehr viel Spaß macht. Es liest Bilddateien von gm (Dateiname) und verarbeitet sie Schicht für Schicht. und schreibt schließlich in die Datei.write(filename, callback). 🎜🎜🎜🎜🎜Zoom das Bild🎜🎜🎜🎜.resize(width, height)
🎜🎜🎜🎜Bild zuschneiden🎜🎜🎜🎜.crop(width, height, x, y )🎜🎜🎜🎜Drehen Sie das Bild🎜🎜🎜🎜<code>.rotate(color, deg)
🎜🎜color ist die Hintergrundfarbe (die Hintergrundfarbe ist praktisch, wenn der Grad-Rotationswinkel ist kein Vielfaches von 90, verwenden Sie einfach das Format „#ededed“)🎜🎜Weitere Informationen zu Knoten finden Sie unter: 🎜nodejs-Tutorial🎜! 🎜Das obige ist der detaillierte Inhalt vonLassen Sie uns darüber sprechen, wie Nodejs gm und imageMagick zum Verarbeiten von Bildern verwendet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!