File: line.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 (41 lines) | stat: -rw-r--r-- 887 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
31
32
33
34
35
36
37
38
39
40
41
require 'rmagick'

imgl = Magick::ImageList.new
imgl.new_image(250, 250, Magick::HatchFill.new('white', 'LightCyan2'))

gc = Magick::Draw.new

gc.stroke_linejoin('round')

# Draw 3 lines in 3 colors.
# Make each line 2 pixels wide.
gc.stroke('red')
gc.stroke_width(3)
gc.line(50, 50, 50, 200)
gc.stroke('blue')
gc.line(50, 200, 200, 200)
gc.stroke('green')
gc.line(200, 200, 50, 50)

# Identify the endpoints with gray circles
gc.stroke('gray50')
gc.stroke_width(1)
gc.fill_opacity(0)
gc.circle(50, 50, 53, 53)
gc.circle(50, 200, 53, 203)
gc.circle(200, 200, 203, 203)

# Annotate the endpoints
gc.font_weight(Magick::NormalWeight)
gc.font_style(Magick::NormalStyle)
gc.fill('black')
gc.fill_opacity(1)
gc.stroke('transparent')
gc.text(30, 40, "'50,50'")
gc.text(30, 220, "'50,200'")
gc.text(180, 220, "'200,200'")

gc.draw(imgl)
imgl.border!(1, 1, 'LightCyan2')

imgl.write('line.gif')