ディレクトリ内の画像の一括反転
imgflip.rb
#!/usr/bin/env ruby # -*- coding: utf-8 -*- # 画像を回転させて上書きする require 'rubygems' require 'fileutils' require 'RMagick' include Magick if ARGV.size < 3 puts 'pathと保存先と反転の向きが必要です' puts ' e.g. ruby imgflip.rb ~/tmp/picture/*.png ~/tmp/result/ flop' puts 'flip(上下) / flop(左右)' exit(1) end method = ARGV.pop dest = ARGV.pop # 保存先 path = ARGV FileUtils.mkpath(dest) if !File.exists? dest path.each{|file| destFile = "#{dest}/#{file.split(/\//).last}" puts "#{file} => #{destFile}" img = Image.from_blob(File.read(file)).shift img.flip! if "flip" =~ /#{method}/ # 上下 img.flop! if "flop" =~ /#{method}/ # 左右 img.write(destFile) fDisabled = GC.enable GC.start GC.disable if fDisabled }
左右反転する場合
ruby imgflip.rb ~/tmp/picture/*.png ~/tmp/result/ flop
上下反転する場合
ruby imgflip.rb ~/tmp/picture/*.png ~/tmp/result/ flip
上下左右反転する場合
ruby imgflip.rb ~/tmp/picture/*.png ~/tmp/result/ "flip|flop"