テスト環境
- Mac OS X 10.8.5
- ruby 1.9.3p429
- ImageMagickインストール済み
面倒だったファイルのリサイズ
大量の画像ファイルを一括リサイズする事があったのですが、
RubyとImageMagickを使えば簡単にできるんじゃない?
と思い、ちょっとスクリプトを作ってみました。
変換ファイル、変更サイズなど固定値で持っていますが、
その部分さえ代えられれば(Dir.glob と scale の部分)、いろいろ使えそうですよ。
とりあえず写真を変換するのは楽になりました。
Rubyスクリプト
カレントディレクトリ以下にあるjpgファイルとpngファイルをすべて40%にリサイズし、元ファイルを上書きするので注意してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# encoding: UTF-8 require 'rubygems' require 'rmagick' def traverse( path ) Dir.glob(["#{path}/**/*.jpg", "#{path}/**/*.JPG", "#{path}/**/*.png", "#{path}/**/*.PNG"]).each do |name| unless File.directory?( name ) process_file( name ) end end end def process_file( fname ) scale = 0.4 # 元サイズを1.0として、変換後の画像サイズをパーセントで指定 img = Magick::Image.read( fname ).first img.resize!( scale ) img.write( "#{fname}" ) puts fname + " 変換しました。" end traverse( Dir.pwd ) |
参考にした書籍です。(いつの間にか第4版になってる・・・)
![]() 【送料無料】たのしいRuby第4版 [ 高橋征義 ] |
こういうブログもありました。
- Rubyで画像の解像度を変更してみる
- ファイル名に入っている数値をインクリメントするスクリプトをRubyで。
- 改行・空白文字を取り除いて別ファイルに出力する(Rubyスクリプトで)
- RubyスクリプトでHTMLよりePubを作成
- コマンドでYouTubeからダウンロードする
人気のあるブログ:
- 新しいgemのアップデート方法(rubygems-update)
- Coda2でscssを使うときのお供にcompassをどうぞ。
- bashでUTF-8に設定して日本語表示したり使ったり。Emacsでも。
- NginxをSSL付きで動かすために設定したこと
- Macでフォルダを結合したいとき