Sha256: 93bea31a479634f9c271292a9d4f6b4703624123649ad130118a8df499a6245c

Contents?: true

Size: 1.07 KB

Versions: 17

Compression:

Stored size: 1.07 KB

Contents

#!/usr/bin/env ruby
$: << "../lib"
require 'zpng'

h = Hash.new{ |k,v| k[v] = "" }
a = []

big_img = ZPNG::Image.load("chars.png").deinterlace

(big_img.width/13).times do |idx|
  img = big_img.crop(:x=>idx*13, :y=>0, :width=>13, :height =>big_img.height)
  s = img.to_ascii(' ##')
  puts s

  c = (idx+32).chr
  next if c == "_"
  n = s.count('#')
  h[n] << c
  a[n] ||= ''
  a[n] << c
end

puts "[.] step1 results:"
p a
while a.index(nil)
  prevset = false
  0.upto(a.size-1) do |i|
    c = a[i]
    a[i] = c[0] if c && c.size > 1
    if !c && a[i-1] && !prevset
      a[i] = a[i-1]
      prevset = true
    else
      prevset = false
    end
  end
  (a.size-1).downto(0) do |i|
    c = a[i]
    a[i] = c[0] if c && c.size > 1
    if !c && a[i+1] && !prevset
      a[i] = a[i+1]
      prevset = true
    else
      prevset = false
    end
  end
end
puts "[.] normalized:"
p a
puts

h.keys.sort.each do |n|
  printf "[.] %3d: %s\n", n, h[n]
end
puts

require 'pp'
puts "[.] final array:"
puts "a = ["
a.each_slice(20).map(&:join).each do |slice|
  puts "  #{slice.inspect},"
end
puts "].join"

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
zpng-0.4.5 misc/gen_ascii_map.rb
zpng-0.4.4 misc/gen_ascii_map.rb
zpng-0.4.3 misc/gen_ascii_map.rb
zpng-0.4.2 misc/gen_ascii_map.rb
zpng-0.4.1 misc/gen_ascii_map.rb
zpng-0.4.0 misc/gen_ascii_map.rb
zpng-0.3.4 misc/gen_ascii_map.rb
zpng-0.3.3 misc/gen_ascii_map.rb
zpng-0.3.2 misc/gen_ascii_map.rb
zpng-0.3.1 misc/gen_ascii_map.rb
zpng-0.3.0 misc/gen_ascii_map.rb
zpng-0.2.5 misc/gen_ascii_map.rb
zpng-0.2.4 misc/gen_ascii_map.rb
zpng-0.2.3 misc/gen_ascii_map.rb
zpng-0.2.2 misc/gen_ascii_map.rb
zpng-0.2.1 misc/gen_ascii_map.rb
zpng-0.2.0 misc/gen_ascii_map.rb