MacbookのperlでImager::File::PNGを使うための手順
以下perlbrewでperlをインストール済みであるという前提でメモ
追記(2013/09/30): YappoLogs: homebrew libpng and Imager::File::PNG with Carton
なんか最近はこの俺の記事の方法だと駄目っぽいみたいです。というわけで、リンク先の記事を参考にどうぞ。最新のMacだともはやX11が付属しなくなってるみたいで、俺の記事はMacにはじめから入ってるX11を使うというものなので無理みたいな感じですね。
libpngをインストールする
まずHomebrewで入れようとしたんだけど失敗する。
$ brew install libpng Error: No available formula for libpng Apple distributes libpng with OS X, you can find it in /usr/X11/lib. However not all build scripts look here, so you may need to call ENV.x11 in your formula's install function.
上の説明読むとわかるんですが、なんかMacはすでに/usr/X11/libに入ってるらしい。
というわけでこの記事ではMacBookにもともと入ってるlibpngを使うことにします
Imager::File::PNGモジュールをインストールする
$ cpanm Imager::File::PNG
png.hが見つからないという感じのエラーが出るので、Makefile.PLを手動実行します
/usr/X11/libという特殊なパスなため発見できてないわけですね。cpanではビルド途中のものは$HOME/.cpanm/latest-buildにあるのでそれを使います。
$ cd ~/.cpanm/latest-build/Imager-File-PNG-0.84 $ perl ./Makefile.PL --libpath=/usr/X11/lib $ make $ make install
テストコード
use Imager; my $img = Imager->new; $img->read(file => './in.jpg') or die $img->errstr; $img = $img->scale( xpixels => 160, ypixels => 160 ); $img->write(file => './out.png') or die $img->errstr;