概要と元ネタ。
#!/usr/bin/env ruby
require 'curses'
require 'rmagick'
Curses.init_screen
columns = Curses.cols / 2
Curses.close_screen
ARGV.each {|filename|
source = Magick::Image.read(filename).first
image = source.sample(1.0 * columns / source.columns)
puts (0...image.rows).map {|row|
image.get_pixels(0, row, image.columns, 1).map {|pixel|
color = [pixel.red, pixel.green, pixel.blue].map {|n| n * 5 / (255 * 255)}
"\x1b[48;5;#{16 + color[0] * 36 + color[1] * 6 + color[2]}m \x1b[0m"
}.join
}.join("\n")
}
楽しい! ✌(’ω’✌ )三✌(’ω’)✌三( ✌’ω’)✌