Node.JSでサーバー側の画像操作にどのライブラリを使用すればよいですか?[閉まっている]


117

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

  1. 外部ソースからサーバーにいくつかの画像をロードする
  2. それらを1つの大きなキャンバスに配置します
  3. それらを少し切り取り、マスクする
  4. 1つまたは2つのフィルターを適用する
  5. 最終的な画像のサイズを変更し、リンクを与える

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


質問はすでにここに答えた:stackoverflow.com/questions/4541332/...を
DjebbZ

2
2015:これも合法のようです:github.com/oliver-moran/jimp
jmunsch

@jm_____ stackoverflowはQ&Aとwikiの両方です。より多くの人が答えに気付くように、答えを編集するのは大変です。
AndrewАндрейЛисточкин2016年

回答:


184

自分の質問に答える

私は2日間かけてNode.jsグラフィックライブラリを調べました。

ノードキャンバス

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

GM

  • 成熟した
  • Windowsでスムーズに実行
  • ドキュメントは大丈夫ですが完全ではありません:利用可能なAPIを理解するためにソースコードを調べる必要がありました
  • 残念ながら、画像をgmと組み合わせる簡単な方法はありません。多分それを達成するためのいくつかの方法がありますが、私はそれと一緒に過ごした2時間後に1つを見つけていません。

node-imagemagick

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

ノードVIP

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

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


44
自分の質問に答えてくれてありがとう。おめでとう!
mpen 2013

Windowsではgmは少し遅いように見えましたが、これは部分的にはgm実行可能ファイルのインスタンスを生成するのにかかった時間にかかっていると思います。
Gareth Oakley 2014年

11
時間は変更され、NODE-Vipsには1年以上の更新がありませんでした。代わりにシャープをリストに追加することをお勧めします。VIPSも使用し、アクティブに
Simon Fakir

5
最近この質問に足を踏み入れた人にとって、LWIPはもう 1つの優れた選択肢です。外部依存関係はなく、node.js C ++アドオンに依存しています。
MaxArt、2015年

1
libvipsのもう 1つのノードバインディングであるgithub.com/lovell/sharpがWindowsで動作するようになりました。
jcupitt

6

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

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


3

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


1
私はこれをまったく実行することができません。必要なときにすぐに「%1は有効なWin32アプリケーションではありません」と表示されます。
mpen 2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.