Resulta que podes llamar a la gema de image2ascii y hacer cortar una imagen.gif en varias imagenes para procesarlas.
Edité el run.rb
del oficial para poder pasarle los parametros como ARGS
# uso:
# $ ruby run-1.rb $filename '$chars'
require 'rmagick'
require 'image2ascii'
require 'json'
require 'fileutils'
# ingresar nombre de archivo del gif
file = ARGV.first
file_name_with_extn = File.basename file
# ingresar que caracteres se van a usar
chars = ARGV.last
animated = Magick::Image.read("#{file_name_with_extn}")
count = 0
tempHash = {}
animated.each do |x|
x.write("./images/image#{count}.jpg")
dude = Image2ASCII.new("./images/image#{count}.jpg")
# usar caracteres ingresados
dude.chars = "#{chars}"
# generar en pantalla completa ( width : dude.winsize )
text = dude.generate( width: 80)
# poner la salida en text
puts text
tempHash["#{count}"] = text.gsub!("\n", "<br>")
count = count + 1
end
FileUtils.rm_rf("./images/.", secure: true)
File.open("steps.json","w") do |f|
f.write(tempHash.to_json)
end
Por ejemplo