#!/usr/bin/ruby require 'rubygems' require 'png' ########################## # options width=30 height=17 box_width=7 box_color = "0xFFFFFF%02X" box_min_opacity = 20 box_max_opacity = 70 grid_color = "0x000000FF" # end options ########################## img_height = height * (box_width) img_width = width * (box_width) canvas = PNG::Canvas.new img_width, img_height boxcolor = [] (0..width-1).each do |x| boxcolor[x] = [] (0..height-1).each do |y| boxcolor[x][y] = PNG::Color.from box_color % (box_min_opacity + rand(box_max_opacity - box_min_opacity)); end end (0..img_width-1).each do |x| (0..img_height-1).each do |y| if( (x % box_width == 0 ) || (y % box_width == box_width -1 ) ) canvas[x,y] = PNG::Color.from grid_color else canvas[x,y] = boxcolor[x / box_width][y / box_width] end end end png = PNG.new canvas #print png.to_blob File.open("/tmp/grid.png", 'w') {|f| f.write(png.to_blob) }