File: new_coord_sys.rb

package info (click to toggle)
ruby-rmagick 6.0.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 8,232 kB
  • sloc: cpp: 19,563; ruby: 17,147; sh: 88; javascript: 36; makefile: 13
file content (30 lines) | stat: -rw-r--r-- 1,133 bytes parent folder | download
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')