require 'rvg/rvg'
Magick::RVG.dpi = 90
rvg = Magick::RVG.new(6.cm, 4.cm).viewbox(0,0,600,400) do |canvas|
canvas.background_fill = 'white'
canvas.rect(595,395,1,1).styles(:stroke=>'blue', :fill=>'none', :stroke_width=>2)
# Define a stick figure.
stick = Magick::RVG::Group.new.styles(:stroke=>'black', :fill=>'none', :stroke_width=>6) do |fig|
fig.circle(42, 50, 50).styles(:stroke=>'red')
fig.polyline(30,40, 50,40, 45,60, 50,40, 65,40).styles(:stroke_width=>4)
fig.polyline(10,100, 50,130, 90,100)
fig.line(50,97, 50, 155)
fig.polyline(10,200, 50,155, 90,200)
end
# Draw 12 copies.
2.times {|y|
6.times {|x|
canvas.use(stick, x*100, y*200)
}
}
end
rvg.draw.write('group.gif')