Rubyで画像の解像度を変更してみる
iPhone 3Gの写真画像の解像度は1600×1200で出力されますが、
これだとブログで使う時に大きいかな・・・と思って、
今までPhotoshopなどで解像度を落とす作業をしていました。
でもこれだけにPhotoshopを立ち上げるのはな・・・と億劫になるのもショッチュウです。
そこでRubyで画像サイズを変更するスクリプトを作ってみました。
Mac Snow Leopard, Ruby 1.9.3p194です。
写真の解像度を落としたかったのでJPEG画像だけを対象にしています。
引数にファイル名を渡して実行すると、同じ階層に_640-480をくっつけて新たに出力します。
前準備
ImageMagickとRMagickが必要です。
[shell]
$ sudo port selfupdate
$ sudo port install ImageMagick
$ sudo gem install rmagick
[/shell]
Rubyスクリプト
[ruby]
# encoding: UTF-8
require ‘rubygems’
require ‘rmagick’
scale = 0.4 # 元サイズが1.0の時、変換後の画像のサイズのパーセント
for fname in ARGV do
img = Magick::Image.read( fname ).first
img.resize!( scale )
img.write(“#{fname}_640-480.jpg”)
end
[/ruby]
実行
[shell]
$ ruby imgresize.rb “ファイル名” [“ファイル名” “ファイル名” ・・・]
[/shell]
参考にさせていただいたサイト
ありがとうございます。