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コマンドを実行した結果ですので、コマンドラインオプションを付けて細かい処理も可能そうです。