« perl でWin32 Inet | メイン | 画像を縮小 »
2005年01月17日
ツール開発メモ:: 画像を縮小
Tweet @jin1016をフォローいままでGIMPを使って1枚1枚縮小していたが、面倒になったので、スクリプトを書くことにした。
で、ImageMagick(PerlMagick)を使おうと思ったが、Perl5.6が入っているマシンだったので、ImageMagickをインストールしてもPerlMagickは動かなかった。
少し悩んだが、コマンドラインツールもついていることを思い出して、コマンドラインツールを呼び出して使うことにした。
初め"-sample"を使ったのだが、どうも汚い。
近傍点を取ってくるだけのようだ。
もう少しリファレンスを調べて"-scale"を発見。
これで綺麗に縮小できるようになった。
で、スクリプトは次のような感じ。
foreach( glob("*.jpg") ) {
print( "convert -scale 512x384 -quality 80 $_ temp.jpg\n" );
system( "convert -scale 512x384 -quality 80 $_ temp.jpg" );
print( "delete $_\n" );
unlink( $_ );
print( "rename temp.jpg $_\n" );
rename( "temp.jpg", $_ );
}
unlink( "temp.jpg" );
上記スクリプトでは、同一フォルダにある*.jpgファイルを片っ端から縮小していく。
保存されるJPEGのクオリティーは80に設定。
投稿者 Takenori : 2005年01月17日 01:59
comments powered by Disqus