#! /usr/bin/env ruby
=begin

= title:

  ps2png.rb  --  ps ファイルから png ファイルを生成する.

= usage:

  ps2png.rb file [file...] (例: $ ps2png.rb ./*.ps)

* 引数に指定した ps ファイルを各々読み込んで初期設定で指定した画像ファイルを生成する
  * 吐き出す画像ファイルの名前は元ファイルのベースを引き継ぐ.
* 実際に画像ファイルを生成するのは mogrify という unix のツール. ruby の内部でそいつを呼んでいるだけ.
  * シェルスクリプトで書くのがまっとうだろうけど, ruby で書いたほうが引数の処理等簡単だったので.

= caution:

* 拡張子で判別するような賢い処理させてないので, ディレクトリだろうが, 画像ファイル以外だろうが容赦なく読み込もうとする. 注意.
  * ↑の対処は簡単にできるから, 気が向いたらやりますかね.
 
= history:

  2003-12-22 created by daktu32@ep.sci.hokudai.ac.jp

=end

####### 初期設定 #######
# 画像形式
IMG = "png"
# 生成する画像の大きさ
WIDTH = "100%"
HEIGHT = "100%"
ROTATE = "90"
########################

require "getopts"

# 引数に与えられたファイル名を配列に格納
files = ARGV


#
files.each do |fn|
  newfn = File.basename(fn, ".*")
  print "mogrify -format #{IMG} -geometry #{WIDTH}x#{HEIGHT} -rotate #{ROTATE} #{newfn}.ps\n"
  %x(mogrify -format #{IMG} -geometry #{WIDTH}x#{HEIGHT} -rotate #{ROTATE} #{newfn}.ps)
  print ".....done.\n"
end


