やーまんぶろぐ

気が向いた時にだけ書くブログ

Node.jsでImageMagickを使ってスマホ画像をLINEスタンプ登録用画像に変換

以前、LINEのスタンプを作成したときに、有料のアプリを使って画像のトリムとリサイズと背景の透明化を行いました。
yamano3201.hatenablog.jp

便利だったのですが、出力するたびに課金だったのでもう使わないかな。。

ということで、簡単にスクリプト化できるところだけNode.jsでImageMagickを使ってスクリプトにしてみました。

やりたいこと

  • トリム
    • 決められたスペースに書くのではなく、自由に描きたかったので。
  • リサイズ
    • 登録サイズが 370 x 320 に決められてるので必須。
  • 背景の透明化
    • これは自動では限界があるので頑張らない。それか真ん中に透明化したいスペースを作らないように書くときに気をつける。

コード

gmのマニュアルを参考にしました。私の環境にはImageMagickが入っていたみたいなので、gmだけインストールして動かすことができました。
gm : GraphicsMagick for node.js

スマホで撮影した画像をPCに転送。そこで下のスクリプトを叩きます。

結果

変換前のスマホ画像
f:id:yamano3201:20160228232201j:plain

変換後のLINEスタンプ登録用画像
f:id:yamano3201:20160228233123p:plain

最後に

普段はスクリプト書くときはrubyで書くのですが、Node.jsで書いてみました。

下のリンクみたいにAWSのlambdaを使ってS3にアップロードされたら、自動でLINEスタンプ登録用画像に変換するようにしたいなー。

S3にアップロードされた画像に透かし(Watermark)を付与してみる。 | Developers.IO

気が向いたら、また書きます。