120

Node.JS wikiで利用可能なライブラリの非常に大きなリストを見つけましたが、どれがより成熟しており、より優れたパフォーマンスを提供しているかはわかりません。基本的に私は次のことをしたい:

  1. 外部ソースからサーバーにいくつかの画像をロードする
  2. それらをひとつの大きなキャンバスにのせて
  3. トリミングして少しマスクします
  4. フィルターを 1 つまたは 2 つ適用する
  5. 最終的な画像のサイズを変更し、リンクを付けます

node パッケージが Linuxと Windowsの両方で動作する場合は大きなプラスです。

4

3 に答える 3

193

自分の質問に答える

Node.js グラフィックス ライブラリを 2 日間掘り下げました。

ノードキャンバス

  • <canvas>私はAPIに精通しているので、最初に試しました。これは図書館にとって大きなプラスです。
  • Windows で簡単にダウンロードできない Cairo が必要です。しかし、GTK+ディストリビューションで見つけました。
  • さらに、モジュールのインストール時にネイティブ ライブラリ バインディング コードをコンパイルする必要があります。まだWindowsに移植されていないNode-Wafを利用しています。

gm

  • 成熟した
  • Windows上でスムーズに動作
  • ドキュメントは問題ありませんが、完全ではありません。利用可能な API を把握するために、ソース コードを調べなければなりませんでした。
  • 残念ながら、画像を gm と組み合わせる簡単な方法はありません。それを達成する方法があるかもしれませんが、2時間費やしても見つけられませんでした.

ノードイメージマジック

  • 公式レポには基本的な ImageMagick コマンドがほとんど含まれていませんが、私はこのフォークを使用しました(NPM が git リポジトリからライブラリを直接プルできるのは良いことです)。montageそれはまさに私が必要とすることをするバインディングを持っています。
  • ImageMagick はかなり遅いですが、Windows でも動作します。

Node-Vip

  • 大きなプラス:私がよく知っている信じられないほどのVIPS ライブラリを使用します。VIPS は非常に高速で、大きな画像用に最適化されています。ハードウェア リソースの利用については非常に賢明です。マシンに大量の RAM がある場合はすべての処理をメモリ内で行いますが、メモリが不足している場合や他のアプリケーションに必要な場合はハード ドライブ キャッシュに切り替えます。
  • node-canvas と同様に Node-Waf が必要なため、Windows ではまだ利用できません。

リストから他のライブラリも調べましたが、それらのほとんどは非常に未熟であるか、私のユースケースに適していません。Node-Waf が Windows に移植されたら、Node-Canvas または Node-Vips に移行してみたいと思っていますが、それまでは node-imagemagick に固執します。

于 2012-05-23T09:58:35.603 に答える
6

GraphicsMagickでgmを確認することを強くお勧めします。安定していて、機能が豊富で、クリーンなAPI、優れたドキュメント、そして高速です。

そしてそれはWindowsとLinux/MacOS / BSD/..の両方で動作します

于 2012-05-22T19:12:58.940 に答える
3

彼女はGDI+ に基づくキャンバス実装へのリンクです

于 2012-09-29T08:55:14.280 に答える