Rubyで画像を読み込むためにはPureImageというのを使えばいいらしい。ダウンロードはhttp://cappuccino.jp/keisuken/からしてきて、ダウンロードしたファイルに含まれてるpureimage.rbを/usr/lib/ruby/site_ruby/1.8にコピーして準備完了。読み込めるのはPNGのみらしい。で、さっそくpureimageを使って、モノクロ画像を作成するプログラムを作ってみた。
require 'pureimage' png = PureImage::PNGIO.new src_image = png.load('kamo.png') dst_image = PureImage::Image.new(src_image.width, src_image.height, 0xffffffff) for y in 0..src_image.height for x in 0..src_image.width pixel = src_image.get(x, y) r = pixel[0] g = pixel[1] b = pixel[2] mono = (0.299 * r + 0.587 * g + 0.114 * b).to_i() dst_image.set(x, y, [mono, mono, mono, pixel[3]]) end end png.save(dst_image, 'mono_kamo.png')