透過PNGでゲームを。
NScripterで使う画像を作るための補助ツール。アルファチャンネル付きのPNGで作って、このスクリプトに掛ければNScripterで扱えるマスク付きPNGになります。ONScripterだとパッチ適用で直接α付きPNG読めるらしいんだけどね。
RMagick必須。
$ ./alpha.rb original_path
で実行します。フォルダ内の全PNGに対して処理を行う。
#!/usr/bin/env ruby require 'RMagick' include Magick require 'fileutils' Dir::chdir(ARGV[0]){ begin FileUtils.mkdir('save') rescue end Dir::glob('*.png').each{|filename| puts filename original = ImageList.new(filename)[0] #アルファチャンネル分離 alpha = original.channel(AlphaChannel) #透過解除 body = ImageList.new body.push(original.clone) body.push(original) body[0].color_reset!("white") body = body.flatten_images #合成出力 out = ImageList.new out.push(body) out.push(alpha) out = out.append(false) out.write("save/#{filename}") } }