2008-02-10

c2.とりあえず完成

とりあえず完成。
convert 248x186 と convert 122x92 の部分は、ほとんど同じなのでメソッドとして別ファイルに書き出す予定。

# 以下、プログラム(インデントは全角スペースなので、copyしてもエラーが出ます)
#! ruby -Ku

# manual-1. copy camera -> original/, temp/
# manual-2. rename temp/500x375用 -> r101.jpg

ipath = "temp"
opath = "converted"

# convert 500x375 -------------------------------------------------
name_h = "r101"
upper = ipath + "/" + name_h + ".JPG"
ifile = ipath + "/" + name_h + ".jpg"
ofile = opath + "/" + name_h + ".jpg"

File.rename(upper, ifile) if File.exist?(upper)
if File.exist?(ifile)
 system("convert -geometry 500x375 " + ifile + " " + ofile)
 File.delete(ifile)
else
 puts "r101.jpg が有りません。中止します。"
 exit
end

# convert 248x186 -------------------------------------------------
name_h = "r1"
count = 2

Dir.open(ipath){|dir|
 dir.sort.each{|file|
  if File.extname(file) =~ /\.(JPG|jpg)/
   ifile = ipath + "/" + file
   ofile = opath + "/" + name_h + format("%02d", count) + ".jpg"
   system("convert -geometry 248x186 " + ifile + " " + ofile)
   File.delete(ifile)
   count += 1
  end
  break if count > 12
 }
}

# convert 122x92 --------------------------------------------------
name_h = "r2"
count = 1

Dir.open(ipath){|dir|
 dir.sort.each{|file|
  if File.extname(file) =~ /\.(JPG|jpg)/
   ifile = ipath + "/" + file
   ofile = opath + "/" + name_h + format("%02d", count) + ".jpg"
   system("convert -geometry 122x92 " + ifile + " " + ofile)
   File.delete(ifile)
   count += 1
  end
  break if count > 18
 }
}

0 件のコメント: