1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
require 'rvg/rvg'
rvg = Magick::RVG.new(400, 150) do |canvas|
canvas.background_fill = 'white'
canvas.desc = 'Example - New user coordinate system'
canvas.g.styles(fill: 'none', stroke: 'black', stroke_width: 3) do |grp|
# Draw the axes of the original coordinate system
grp.line(0, 1.5, 400, 1.5)
grp.line(1.5, 0, 1.5, 150)
end
canvas.g do |grp|
grp.text(30, 30, 'ABC (orig coord system)').styles(font_size: 20, font_family: 'Verdana', font_weight: 'normal', font_style: 'normal')
end
# Establish a new coordinate system, which is
# shifted (i.e., translated) from the initial coordinate
# system by 50 user units along each axis.
canvas.g.translate(50, 50) do |grp|
grp.g.styles(fill: 'none', stroke: 'red', stroke_width: 3) do |grp2|
# Draw lines of length 50 user units along
# the axes of the new coordinate system
grp2.line(0, 0, 50, 0)
grp2.line(0, 0, 0, 50)
end
grp.text(30, 30, 'ABC (translated coord system)').styles(font_size: 20, font_family: 'Verdana', font_weight: 'normal', font_style: 'normal')
end
end
rvg.draw.write('new_coord_sys.gif')
|