RMagickで複数枚の画像を重ねる

Image.compositeで重ねられる。

ruby img-composite.rb base.png img1.png img2.jpg img3.jpg result.png

img-composite.rb

#!/usr/bin/env ruby
require 'rubygems'
require 'RMagick'
include Magick

resultFileName = ARGV.pop

result = Image.from_blob(File.read(ARGV.shift)).shift

ARGV.each{|file|
  puts file
  img = Image.from_blob(File.read(file)).shift
  result = result.composite(img, 0, 0, OverCompositeOp)
}

result.write(resultFileName)
結果画像 = 下の画像.composite(上の画像, x座標, y座標, 重ね方) 

重ね方は、色々指定できるらしい。
とりあえずこのコードで、アルファチャンネル付きPNGのみ透過が考慮され、他はそのまま上に貼り付けられるのでよしとする。