Node.jsでの画像処理

Node.js/ExpressJSでのファイルのアップロード - ZeBeVogue別館」でファイルのアップロード方法を確認しました。画像ファイルはアップロードした後に何かしらの処理を加える事が多いですので、画像処理の方法を調べてみました。

調べた中で一番簡単だったのはeasyimageモジュールで処理する方法でした。
ではさっそく使ってみます。

$ mkdir images
$ cd images && npm init
$ npm install easyimage --save

node_modules/easyimage/にtest.jsというサンプルファイルがあります。これを見ろという事以外、npmjsには他に記述がありません。これをプロジェクト直下にコピーし、以下を修正します。

//var easyimg = require('./easyimage.js');  //コメントアウト
var easyimg = require('easyimage');

var srcimg = 'kitteh.jpg';  //処理する画像ファイル

画像ファイルを用意してファイル名を合わせます。あとは実行するだけです。

$ node test.js
$ ls *.jpg *.gif
command.gif   crop.jpg      kitteh.jpg    rescrop.jpg   resize.jpg    thumbnail.jpg

いくつかファイルが生成されています。ファイル名を読んで字のごとくですが、rescropはリサイズと切り抜きを同時に行っているようです。command.gifはImageMagickのconvertコマンドを実行した結果ですので、コマンドラインオプションを付けて細かい処理も可能そうです。