Node.jsでidenticon生成するモジュール書いた

identiconnode-canvasでラップしたmoduleをnpmに置きました。
identiconロジックの本家でcanvas版が公開されているので、
それをnode-canvasでラップしただけで、実際に追加で書き出したのは10行程度です。

https://github.com/ajido/node-identicon

var identicon = require('identicon');
var fs = require('fs');

identicon.generate('ajido', 150, function(err, buffer) {
    if (err) throw err;
    fs.writeFileSync(__dirname + '/identicon.png', buffer);
}

icon

ウェブアプリケーションサーバで動的生成する場合は、ロジックを変えない限り生成されるidenticonが変わらないので(remoteAddressとsaltは使っておらず)、レスポンスヘッダに Cache-Control: public, max-age=*** が定義されるようにして、ブラウザ側のキャッシュをメインで使うのがベストかと思います。

node-canvas メモ

依存pkg install

$ brew install cairo giflib libjpeg 

gypでbuildするとconfigureの出力が消えるのでフックされた画像系のライブラリが何なのか分からず戸惑ったんだけど、canvas/util/has_lib.shからチェックしてたので使わせてもらった

$ echo "gif png jpeg" | xargs -n1 ./util/has_lib.sh
true
true
true

縮小が汚いのを何とかしたい
http://stackoverflow.com/questions/2303690/resizing-an-image-in-an-html5-canvas
(すごい)

広告を非表示にする