« perl でWin32 Inet | メイン | 画像を縮小 »

2005年01月17日

ツール開発メモ:: 画像を縮小

    

いままで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
Total : Today : Yesterday : なかのひと