Heim > Web-Frontend > js-Tutorial > Hauptteil

Lassen Sie uns darüber sprechen, wie Nodejs gm und imageMagick zum Verarbeiten von Bildern verwendet

青灯夜游
Freigeben: 2022-08-15 19:42:38
nach vorne
2791 Leute haben es durchsucht

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!

Lassen Sie uns darüber sprechen, wie Nodejs gm und imageMagick zum Verarbeiten von Bildern verwendet

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.

Installationsabhängigkeiten

npm i gm
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

引用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');
  }
});
Nach dem Login kopieren

如果要用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');
  }
});
Nach dem Login kopieren

其它功能

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

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

缩放图片

.resize(width, height)

裁剪图片

.crop(width, height, x, y)

旋转图片

.rotate(color, deg)

Es ist bequemer, brew zu verwenden. Sie müssen sich keine Gedanken über Umgebungsvariablen machen.

GraphicsMagick

🎜🎜Wenn Sie ImageMagick nicht verwenden, können Sie natürlich GraphicsMagick verwenden:🎜rrreee🎜🎜Zitat gm🎜🎜🎜Zuerst habe ich mich für die Installation von ImageMagick entschieden. Wenn ich das schreibe, bekomme ich immer ein Fehler:🎜rrreee 🎜Wenn Sie ImageMagick verwenden möchten, ist die obige Schreibweise tatsächlich falsch. Sie sollte so geschrieben sein, dass klar angegeben wird, dass ich das 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!

Verwandte Etiketten:
Quelle:juejin.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!