背景を透過するには。

NScripterで使われるような、左半分が絵本体で右側がマスクな画像を1枚の透過PNGに戻すには。

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

Dir::glob('*.BMP').each{|filename|
  orig = Image.read(filename)[0]
  #左右分離
  img=orig.crop(0,0,orig.columns/2, orig.rows)
  mask=orig.crop(orig.columns/2,0,orig.columns/2, orig.rows)
  #マスク適用
  out = img.composite(mask.negate, 0, 0, CopyOpacityCompositeOp)
  out.write(filename.sub('.BMP', '.png'))
  GC.start
}