group.rb

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')
Close window