ホームページ  >  記事  >  ウェブフロントエンド  >  Nodejs が gm と imageMagick を使用して画像を処理する方法について話しましょう

Nodejs が gm と imageMagick を使用して画像を処理する方法について話しましょう

青灯夜游
青灯夜游転載
2022-08-15 19:42:382763ブラウズ

Nodejs画像を処理するにはどうすればよいですか?次の記事では、Nodejs が gm と imageMagick を使用して画像を処理する方法を紹介します。

Nodejs が gm と imageMagick を使用して画像を処理する方法について話しましょう

#最近、JS を使って楽しいことをしていて、画像を加工する必要があります。インターネット上にはさまざまな方法を記載したチュートリアルが多数あり、一部の方法が必ずしも機能するとは限りません。この記事では、NodeJS を使用して画像を処理するために著者が検証した方法を紹介します。

インストールの依存関係

npm i gm

gm は、開発者が画像を処理できるようにいくつかの JS API を提供する Node ライブラリです。ただし、その下にある GraphicsMagick または ImageMagick に依存しています。実際、gm はこれら 2 つのツールを呼び出すためのコマンド ラインです。

つまり、gm のインストールに加えて、GraphicsMagick または ImageMagick のいずれかをインストールする必要もあります。

ImageMagick

著者は MacOS を使用しており、ImageMagick を直接インストールすることを選択しました。

公式 Web サイトのコマンドに従います。必要なコードは 1 行のみです (Mac に brew がインストールされている場合):

brew install imagemagick --with-webp

パラメータを導入します --with-webp, 削除しても大丈夫ですが、webp形式の画像を加工したい場合は追加する必要があります。

環境変数を気にする必要がなく、brew を使用すると便利です。

GraphicsMagick

もちろん、ImageMagick を使用しない場合は、GraphicsMagick を使用できます:

brew install graphicsmagick

Quoting 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(ファイル名) から画像ファイルを読み取り、レイヤーごとに処理し、最後に file.write(filename, callback) に書き込みます。

#画像をズーム

.resize(幅, 高さ)

画像をトリミングします

.crop(width, height, x, y)

画像を回転しますpic

.rotate(color, deg)

color は背景色です (背景色は回転角度が deg の場合に便利です) 90 の倍数ではなく、「#ededed」という形式を使用してください)

ノード関連の知識の詳細については、

nodejs チュートリアル を参照してください。

以上がNodejs が gm と imageMagick を使用して画像を処理する方法について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjuejin.cnで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。