rmagick4j 0.3.4-java → 0.3.9-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (164) hide show
  1. checksums.yaml +7 -0
  2. data/History.txt +84 -0
  3. data/LICENSE.txt +31 -0
  4. data/README.txt +25 -0
  5. data/Rakefile +65 -0
  6. data/lib/magick4j.jar +0 -0
  7. data/lib/{RMagick.rb → rmagick.rb} +574 -405
  8. data/lib/rmagick4j/constants.rb +34 -0
  9. data/lib/rmagick4j/draw.rb +124 -0
  10. data/lib/rmagick4j/enum.rb +120 -0
  11. data/lib/rmagick4j/gradient_fill.rb +14 -0
  12. data/lib/rmagick4j/image.rb +351 -0
  13. data/lib/rmagick4j/image_list.rb +25 -0
  14. data/lib/rmagick4j/pixel.rb +170 -0
  15. data/lib/rmagick4j/rmagick4j.rb +15 -430
  16. data/lib/rmagick4j/texture_fill.rb +14 -0
  17. data/lib/rmagick4j/type_metric.rb +8 -0
  18. data/lib/rmagick4j/version.rb +5 -0
  19. data/lib/rvg/clippath.rb +2 -2
  20. data/lib/rvg/container.rb +2 -2
  21. data/lib/rvg/describable.rb +2 -2
  22. data/lib/rvg/embellishable.rb +2 -2
  23. data/lib/rvg/misc.rb +3 -3
  24. data/lib/rvg/paint.rb +7 -2
  25. data/lib/rvg/pathdata.rb +2 -2
  26. data/lib/rvg/rvg.rb +3 -3
  27. data/lib/rvg/stretchable.rb +15 -3
  28. data/lib/rvg/stylable.rb +2 -2
  29. data/lib/rvg/text.rb +2 -2
  30. data/lib/rvg/transformable.rb +2 -2
  31. data/lib/rvg/units.rb +2 -2
  32. data/test/RMagickTestSuite.rb +129 -0
  33. data/test/eyetests/bullseye.rb +151 -0
  34. data/test/eyetests/doc.rb +79 -0
  35. data/test/eyetests/tests/draw_arc_basic.rb +16 -0
  36. data/test/eyetests/tests/draw_circle_affine.rb +19 -0
  37. data/test/eyetests/tests/draw_circle_basic.rb +16 -0
  38. data/test/eyetests/tests/draw_clip_path.rb +44 -0
  39. data/test/eyetests/tests/draw_ellipse_affine.rb +19 -0
  40. data/test/eyetests/tests/draw_ellipse_basic.rb +16 -0
  41. data/test/eyetests/tests/draw_line_affine.rb +24 -0
  42. data/test/eyetests/tests/draw_line_basic.rb +21 -0
  43. data/test/eyetests/tests/draw_multiline_type_metrics.rb +42 -0
  44. data/test/eyetests/tests/draw_pattern_1.rb +35 -0
  45. data/test/eyetests/tests/draw_polygon_affine.rb +22 -0
  46. data/test/eyetests/tests/draw_polygon_basic.rb +19 -0
  47. data/test/eyetests/tests/draw_polyline_affine.rb +19 -0
  48. data/test/eyetests/tests/draw_polyline_basic.rb +18 -0
  49. data/test/eyetests/tests/draw_pop_push.rb +16 -0
  50. data/test/eyetests/tests/draw_pop_push_translate.rb +22 -0
  51. data/test/eyetests/tests/draw_rectangle_affine.rb +16 -0
  52. data/test/eyetests/tests/draw_rectangle_basic.rb +16 -0
  53. data/test/eyetests/tests/draw_rectangle_narrow.rb +18 -0
  54. data/test/eyetests/tests/draw_rmagick_test_01.rb +35 -0
  55. data/test/eyetests/tests/draw_rmagick_test_02.rb +40 -0
  56. data/test/eyetests/tests/draw_rmagick_test_03.rb +17 -0
  57. data/test/eyetests/tests/draw_rmagick_test_04.rb +21 -0
  58. data/test/eyetests/tests/draw_rotate_01.rb +33 -0
  59. data/test/eyetests/tests/draw_roundrectangle_affine.rb +19 -0
  60. data/test/eyetests/tests/draw_roundrectangle_basic.rb +16 -0
  61. data/test/eyetests/tests/draw_scale_01.rb +33 -0
  62. data/test/eyetests/tests/draw_skewx_01.rb +34 -0
  63. data/test/eyetests/tests/draw_skewy_01.rb +33 -0
  64. data/test/eyetests/tests/draw_stroke_miterlimit.rb +21 -0
  65. data/test/eyetests/tests/effect_blur.rb +9 -0
  66. data/test/eyetests/tests/effect_charcoal.rb +9 -0
  67. data/test/eyetests/tests/effect_edge.rb +9 -0
  68. data/test/eyetests/tests/effect_implode.rb +9 -0
  69. data/test/eyetests/tests/effect_negate.rb +9 -0
  70. data/test/eyetests/tests/effect_negate_true.rb +9 -0
  71. data/test/eyetests/tests/effect_normalize.rb +9 -0
  72. data/test/eyetests/tests/effect_shade.rb +9 -0
  73. data/test/eyetests/tests/effect_solarize.rb +10 -0
  74. data/test/eyetests/tests/effect_wave.rb +9 -0
  75. data/test/eyetests/tests/gradient_fill_horizontal_diagonal_fill.rb +9 -0
  76. data/test/eyetests/tests/gradient_fill_horizontal_fill.rb +9 -0
  77. data/test/eyetests/tests/gradient_fill_point_fill.rb +9 -0
  78. data/test/eyetests/tests/gradient_fill_vertical_diagonal_fill.rb +9 -0
  79. data/test/eyetests/tests/gradient_fill_vertical_fill.rb +9 -0
  80. data/test/eyetests/tests/gruff_accumulator_bar.rb +29 -0
  81. data/test/eyetests/tests/gruff_area_1.rb +16 -0
  82. data/test/eyetests/tests/gruff_area_2.rb +27 -0
  83. data/test/eyetests/tests/gruff_bar_1.rb +29 -0
  84. data/test/eyetests/tests/gruff_bar_2.rb +19 -0
  85. data/test/eyetests/tests/gruff_dot_1.rb +19 -0
  86. data/test/eyetests/tests/gruff_line_1.rb +13 -0
  87. data/test/eyetests/tests/gruff_line_2.rb +20 -0
  88. data/test/eyetests/tests/gruff_net_1.rb +16 -0
  89. data/test/eyetests/tests/gruff_net_2.rb +16 -0
  90. data/test/eyetests/tests/gruff_pie_1.rb +21 -0
  91. data/test/eyetests/tests/gruff_pie_2.rb +22 -0
  92. data/test/eyetests/tests/gruff_scene_1.rb +14 -0
  93. data/test/eyetests/tests/gruff_scene_2.rb +14 -0
  94. data/test/eyetests/tests/gruff_sidebar.rb +32 -0
  95. data/test/eyetests/tests/gruff_sidestacked_bar_1.rb +26 -0
  96. data/test/eyetests/tests/gruff_sidestacked_bar_2.rb +26 -0
  97. data/test/eyetests/tests/gruff_spider_1.rb +22 -0
  98. data/test/eyetests/tests/gruff_spider_2.rb +15 -0
  99. data/test/eyetests/tests/gruff_stacked_area_1.rb +23 -0
  100. data/test/eyetests/tests/gruff_stacked_bar_1.rb +23 -0
  101. data/test/eyetests/tests/gruff_stacked_bar_2.rb +26 -0
  102. data/test/eyetests/tests/hatch_fill.rb +9 -0
  103. data/test/eyetests/tests/image_list_flatten_images.rb +15 -0
  104. data/test/eyetests/tests/new_image.rb +31 -0
  105. data/test/eyetests/tests/path_a_command_01.rb +16 -0
  106. data/test/eyetests/tests/path_a_command_02.rb +19 -0
  107. data/test/eyetests/tests/path_c_command_01.rb +16 -0
  108. data/test/eyetests/tests/path_c_command_02.rb +16 -0
  109. data/test/eyetests/tests/path_complex_01.rb +16 -0
  110. data/test/eyetests/tests/path_espiral_01.rb +29 -0
  111. data/test/eyetests/tests/path_h_command_01.rb +16 -0
  112. data/test/eyetests/tests/path_h_command_02.rb +16 -0
  113. data/test/eyetests/tests/path_l_command_01.rb +16 -0
  114. data/test/eyetests/tests/path_l_command_02.rb +16 -0
  115. data/test/eyetests/tests/path_m_command_01.rb +16 -0
  116. data/test/eyetests/tests/path_m_command_02.rb +16 -0
  117. data/test/eyetests/tests/path_m_command_03.rb +16 -0
  118. data/test/eyetests/tests/path_q_command_01.rb +16 -0
  119. data/test/eyetests/tests/path_q_command_02.rb +16 -0
  120. data/test/eyetests/tests/path_q_command_03.rb +25 -0
  121. data/test/eyetests/tests/path_s_command_01.rb +16 -0
  122. data/test/eyetests/tests/path_s_command_02.rb +16 -0
  123. data/test/eyetests/tests/path_star_01.rb +19 -0
  124. data/test/eyetests/tests/path_t_command_01.rb +16 -0
  125. data/test/eyetests/tests/path_t_command_02.rb +16 -0
  126. data/test/eyetests/tests/path_v_command_01.rb +16 -0
  127. data/test/eyetests/tests/path_v_command_02.rb +16 -0
  128. data/test/eyetests/tests/store_pixel_smiley.rb +123 -0
  129. data/test/eyetests/tests/texture_fill.rb +11 -0
  130. data/test/gruff_tests/test/gruff_test_case.rb +123 -0
  131. data/test/gruff_tests/test/monkey_gruff.rb +7 -0
  132. data/test/gruff_tests/test/test_accumulator_bar.rb +50 -0
  133. data/test/gruff_tests/test/test_area.rb +134 -0
  134. data/test/gruff_tests/test/test_bar.rb +295 -0
  135. data/test/gruff_tests/test/test_base.rb +8 -0
  136. data/test/gruff_tests/test/test_bullet.rb +26 -0
  137. data/test/gruff_tests/test/test_dot.rb +273 -0
  138. data/test/gruff_tests/test/test_legend.rb +68 -0
  139. data/test/gruff_tests/test/test_line.rb +554 -0
  140. data/test/gruff_tests/test/test_mini_bar.rb +33 -0
  141. data/test/gruff_tests/test/test_mini_pie.rb +20 -0
  142. data/test/gruff_tests/test/test_mini_side_bar.rb +37 -0
  143. data/test/gruff_tests/test/test_net.rb +230 -0
  144. data/test/gruff_tests/test/test_photo.rb +41 -0
  145. data/test/gruff_tests/test/test_pie.rb +154 -0
  146. data/test/gruff_tests/test/test_scene.rb +100 -0
  147. data/test/gruff_tests/test/test_side_bar.rb +12 -0
  148. data/test/gruff_tests/test/test_sidestacked_bar.rb +89 -0
  149. data/test/gruff_tests/test/test_spider.rb +216 -0
  150. data/test/gruff_tests/test/test_stacked_area.rb +52 -0
  151. data/test/gruff_tests/test/test_stacked_bar.rb +52 -0
  152. data/test/images/clown.jpg +0 -0
  153. data/test/images/texture.jpg +0 -0
  154. data/test/implemented_methods.rb +18 -0
  155. data/test/spec/draw_spec.rb +43 -0
  156. data/test/spec/features/step_definitions/geometry_steps.rb +22 -0
  157. data/test/spec/features/step_definitions/image_filling_steps.rb +49 -0
  158. data/test/spec/features/support/env.rb +3 -0
  159. data/test/spec/image_constants.rb +76 -0
  160. data/test/spec/image_spec.rb +83 -0
  161. data/test/spec/pixel_spec.rb +89 -0
  162. metadata +333 -45
  163. data/lib/RMagick.jar +0 -0
  164. data/lib/jhlabs-filters.jar +0 -0
@@ -0,0 +1,26 @@
1
+ require 'rubygems'
2
+ require 'gruff'
3
+ require File.join(File.dirname(__FILE__), 'new_image.rb')
4
+
5
+
6
+ @datasets = [
7
+ [:Jimmy, [25, 36, 86, 39]],
8
+ [:Charles, [80, 54, 67, 54]],
9
+ [:Julie, [22, 29, 35, 38]],
10
+ #[:Jane, [95, 95, 95, 90, 85, 80, 88, 100]],
11
+ #[:Philip, [90, 34, 23, 12, 78, 89, 98, 88]],
12
+ #["Arthur", [5, 10, 13, 11, 6, 16, 22, 32]],
13
+ ]
14
+
15
+ g = Gruff::SideStackedBar.new
16
+ g.title = "Stacked Bar Long Label"
17
+ g.labels = {
18
+ 0 => 'September',
19
+ 1 => 'Oct',
20
+ 2 => 'Nov',
21
+ 3 => 'Dec',
22
+ }
23
+ @datasets.each do |data|
24
+ g.data(data[0], data[1])
25
+ end
26
+ g.write 'gruff_sidestacked_bar_2.jpg'
@@ -0,0 +1,22 @@
1
+ require 'rubygems'
2
+ require 'gruff'
3
+ require File.join(File.dirname(__FILE__), 'new_image.rb')
4
+
5
+
6
+ @datasets = [
7
+ [:Strength, [10]],
8
+ [:Dexterity, [16]],
9
+ [:Constitution, [12]],
10
+ [:Intelligence, [12]],
11
+ [:Wisdom, [10]],
12
+ ["Charisma", [16]],
13
+ ]
14
+
15
+ g = Gruff::Spider.new(20)
16
+ g.title = "Spider Graph Test"
17
+ @datasets.each do |data|
18
+ g.data(data[0], data[1])
19
+ end
20
+
21
+ # Default theme
22
+ g.write("gruff_spider_1.jpg")
@@ -0,0 +1,15 @@
1
+ require 'rubygems'
2
+ require 'gruff'
3
+ require File.join(File.dirname(__FILE__), 'new_image.rb')
4
+
5
+
6
+ g = Gruff::Spider.new(2)
7
+ g.title = "Pie Graph Two One Zero"
8
+
9
+ g.data(:Bert, [0])
10
+ g.data(:Adam, [1])
11
+ g.data(:Sam, [2])
12
+
13
+ g.theme_37signals
14
+
15
+ g.write("gruff_spider_2.jpg")
@@ -0,0 +1,23 @@
1
+ require 'rubygems'
2
+ require 'gruff'
3
+ require File.join(File.dirname(__FILE__), 'new_image.rb')
4
+
5
+ @datasets = [
6
+ [:Jimmy, [25, 36, 86, 39]],
7
+ [:Charles, [80, 54, 67, 54]],
8
+ [:Julie, [22, 29, 35, 38]],
9
+ ]
10
+
11
+ g = Gruff::StackedArea.new
12
+
13
+ g.labels = {
14
+ 0 => '5/6',
15
+ 1 => '5/15',
16
+ 2 => '5/24',
17
+ 3 => '5/30'
18
+ }
19
+
20
+ @datasets.each do |data|
21
+ g.data(data[0], data[1])
22
+ end
23
+ g.write "gruff_stacked_area_1.jpg"
@@ -0,0 +1,23 @@
1
+ require 'rubygems'
2
+ require 'gruff'
3
+ require File.join(File.dirname(__FILE__), 'new_image.rb')
4
+
5
+
6
+ @datasets = [
7
+ [:Jimmy, [25, 36, 86, 39]],
8
+ [:Charles, [80, 54, 67, 54]],
9
+ [:Julie, [22, 29, 35, 38]],
10
+ ]
11
+
12
+ g = Gruff::StackedBar.new
13
+ g.title = "Visual Stacked Bar Graph Test"
14
+ g.labels = {
15
+ 0 => '5/6',
16
+ 1 => '5/15',
17
+ 2 => '5/24',
18
+ 3 => '5/30',
19
+ }
20
+ @datasets.each do |data|
21
+ g.data(data[0], data[1])
22
+ end
23
+ g.write 'gruff_stacked_bar_1.jpg'
@@ -0,0 +1,26 @@
1
+ require 'rubygems'
2
+ require 'gruff'
3
+ require File.join(File.dirname(__FILE__), 'new_image.rb')
4
+
5
+
6
+ @datasets = [
7
+ [:Jimmy, [25, 36, 86, 39]],
8
+ [:Charles, [80, 54, 67, 54]],
9
+ [:Julie, [22, 29, 35, 38]],
10
+ ]
11
+
12
+ g = Gruff::StackedBar.new(400)
13
+ g.title = "Visual Stacked Bar Graph Test"
14
+ g.labels = {
15
+ 0 => '5/6',
16
+ 1 => '5/15',
17
+ 2 => '5/24',
18
+ 3 => '5/30',
19
+ }
20
+ @datasets.each do |data|
21
+ g.data(data[0], data[1])
22
+ end
23
+
24
+ g.theme_rails_keynote
25
+
26
+ g.write 'gruff_stacked_bar_2.jpg'
@@ -0,0 +1,9 @@
1
+ require File.join(File.dirname(__FILE__), 'new_image.rb')
2
+
3
+ include Magick
4
+
5
+ hatch = HatchFill.new('black', 'white', 20)
6
+
7
+ img = Image.new(300, 300, hatch)
8
+
9
+ img.write('hatch_fill.jpg')
@@ -0,0 +1,15 @@
1
+ require File.join(File.dirname(__FILE__), 'new_image.rb')
2
+
3
+ include Magick
4
+
5
+ a = Image.new 200, 200, HatchFill.new('transparent', 'orange')
6
+ b = Image.new 100, 100, HatchFill.new('transparent', 'green', 7)
7
+ c = Image.new 300, 300, GradientFill.new(150, 150, 150, 150, 'orange', 'black')
8
+
9
+ list = ImageList.new
10
+
11
+ list << c
12
+ list << b
13
+ list << a
14
+
15
+ list.flatten_images.write('image_list_flatten_images.jpg')
@@ -0,0 +1,31 @@
1
+ if PLATFORM == 'java'
2
+ require File.join(File.dirname(__FILE__), '..', '..', '..','lib','RMagick')
3
+ else
4
+ require "rubygems"
5
+ require "RMagick"
6
+ end
7
+
8
+ class Float
9
+
10
+ def to_threshold
11
+ self/255 * Magick::QuantumRange
12
+ end
13
+ end
14
+
15
+ class Magick::Image
16
+ alias_method :old_write, :write
17
+
18
+ def self.load(filename, &add)
19
+ file = File.join(File.expand_path(File.dirname(__FILE__)), '..', '..', 'images', filename)
20
+ self.read file, &add
21
+ end
22
+
23
+ def write(filename)
24
+ engine = (PLATFORM == 'java' ? 'jruby' : 'mri')
25
+ new_filename = filename.sub(/(\.[^\.]*)$/, '.' + engine + '\1')
26
+ change_geometry('300x300') do |columns, rows, image|
27
+ image.resize!(columns, rows)
28
+ end
29
+ old_write File.join(ARGV[0],new_filename)
30
+ end
31
+ end
@@ -0,0 +1,16 @@
1
+ require File.join(File.dirname(__FILE__), 'new_image.rb')
2
+
3
+ include Magick
4
+
5
+ draw = Draw.new
6
+
7
+ draw.fill 'red'
8
+ draw.stroke 'blue'
9
+ draw.stroke_width(5)
10
+ draw.path 'M150,150 h-140 a140,100 45 1,0 140,-140'
11
+
12
+ b = Image.new(300, 300, HatchFill.new('white', 'black'))
13
+
14
+ draw.draw(b)
15
+
16
+ b.write('path_a_command_01.jpg')
@@ -0,0 +1,19 @@
1
+ require File.join(File.dirname(__FILE__), 'new_image.rb')
2
+
3
+ include Magick
4
+
5
+ draw = Draw.new
6
+
7
+ draw.fill 'red'
8
+ draw.stroke 'blue'
9
+ draw.stroke_width(5)
10
+ draw.path 'M0,250 l 50,-25
11
+ a25,50 -30 0,1 50,-25 l 50,-25
12
+ a25,75 -30 0,1 50,-25 l 50,-25
13
+ a25,100 -30 0,1 50,-25 l 50,-25'
14
+
15
+ b = Image.new(300, 300, HatchFill.new('white', 'black'))
16
+
17
+ draw.draw(b)
18
+
19
+ b.write('path_a_command_02.jpg')
@@ -0,0 +1,16 @@
1
+ require File.join(File.dirname(__FILE__), 'new_image.rb')
2
+
3
+ include Magick
4
+
5
+ draw = Draw.new
6
+
7
+ draw.fill 'red'
8
+ draw.stroke 'blue'
9
+ draw.stroke_width(5)
10
+ draw.path 'M100,200 C100,100 250,100 250,200'
11
+
12
+ b = Image.new(300, 300, HatchFill.new('white', 'black'))
13
+
14
+ draw.draw(b)
15
+
16
+ b.write('path_c_command_01.jpg')
@@ -0,0 +1,16 @@
1
+ require File.join(File.dirname(__FILE__), 'new_image.rb')
2
+
3
+ include Magick
4
+
5
+ draw = Draw.new
6
+
7
+ draw.fill 'red'
8
+ draw.stroke 'blue'
9
+ draw.stroke_width(5)
10
+ draw.path 'M50,150 c0,-150 200,150 200,0'
11
+
12
+ b = Image.new(300, 300, HatchFill.new('white', 'black'))
13
+
14
+ draw.draw(b)
15
+
16
+ b.write('path_c_command_02.jpg')
@@ -0,0 +1,16 @@
1
+ require File.join(File.dirname(__FILE__), 'new_image.rb')
2
+
3
+ include Magick
4
+
5
+ draw = Draw.new
6
+
7
+ draw.fill 'GREENYELLOW'
8
+ draw.stroke 'DarkBlue'
9
+ draw.stroke_width(5)
10
+ draw.path 'M150 150 200 200v25C225 225 250 250 200 250S150 275 200 275H100Z'
11
+
12
+ b = Image.new(300, 300, HatchFill.new('white', 'black'))
13
+
14
+ draw.draw(b)
15
+
16
+ b.write('path_complex_01.jpg')
@@ -0,0 +1,29 @@
1
+ require File.join(File.dirname(__FILE__), 'new_image.rb')
2
+
3
+ include Magick
4
+
5
+ draw = Draw.new
6
+
7
+ draw.fill 'red'
8
+ draw.fill_rule 'nonzero'
9
+ draw.stroke 'blue'
10
+ draw.stroke_width(5)
11
+ draw.path 'M153 334
12
+ C153 334 151 334 151 334
13
+ C151 339 153 344 156 344
14
+ C164 344 171 339 171 334
15
+ C171 322 164 314 156 314
16
+ C142 314 131 322 131 334
17
+ C131 350 142 364 156 364
18
+ C175 364 191 350 191 334
19
+ C191 311 175 294 156 294
20
+ C131 294 111 311 111 334
21
+ C111 361 131 384 156 384
22
+ C186 384 211 361 211 334
23
+ C211 300 186 274 156 274'
24
+
25
+ b = Image.new(500, 500, HatchFill.new('white', 'black'))
26
+
27
+ draw.draw(b)
28
+
29
+ b.write('path_espiral_01.jpg')
@@ -0,0 +1,16 @@
1
+ require File.join(File.dirname(__FILE__), 'new_image.rb')
2
+
3
+ include Magick
4
+
5
+ draw = Draw.new
6
+
7
+ draw.fill 'red'
8
+ draw.stroke 'blue'
9
+ draw.stroke_width(5)
10
+ draw.path 'M50 50 L100 100 0 100M190 190H290V290h-100 100'
11
+
12
+ b = Image.new(300, 300, HatchFill.new('white', 'black'))
13
+
14
+ draw.draw(b)
15
+
16
+ b.write('path_h_command_01.jpg')
@@ -0,0 +1,16 @@
1
+ require File.join(File.dirname(__FILE__), 'new_image.rb')
2
+
3
+ include Magick
4
+
5
+ draw = Draw.new
6
+
7
+ draw.fill 'red'
8
+ draw.stroke 'blue'
9
+ draw.stroke_width(5)
10
+ draw.path 'M50,50 L100,100 0,100M190,190h100v100h-100v-100'
11
+
12
+ b = Image.new(300, 300, HatchFill.new('white', 'black'))
13
+
14
+ draw.draw(b)
15
+
16
+ b.write('path_h_command_02.jpg')
@@ -0,0 +1,16 @@
1
+ require File.join(File.dirname(__FILE__), 'new_image.rb')
2
+
3
+ include Magick
4
+
5
+ draw = Draw.new
6
+
7
+ draw.fill 'red'
8
+ draw.stroke 'blue'
9
+ draw.stroke_width(5)
10
+ draw.path 'M50,50 L100,100 0,100M190,190L290,190L290,290 190,290'
11
+
12
+ b = Image.new(300, 300, HatchFill.new('white', 'black'))
13
+
14
+ draw.draw(b)
15
+
16
+ b.write('path_l_command_01.jpg')
@@ -0,0 +1,16 @@
1
+ require File.join(File.dirname(__FILE__), 'new_image.rb')
2
+
3
+ include Magick
4
+
5
+ draw = Draw.new
6
+
7
+ draw.fill 'red'
8
+ draw.stroke 'blue'
9
+ draw.stroke_width(5)
10
+ draw.path 'M50 50 L100 100 0 100M190 190l100 0 0 100 -100 0'
11
+
12
+ b = Image.new(300, 300, HatchFill.new('white', 'black'))
13
+
14
+ draw.draw(b)
15
+
16
+ b.write('path_l_command_02.jpg')
@@ -0,0 +1,16 @@
1
+ require File.join(File.dirname(__FILE__), 'new_image.rb')
2
+
3
+ include Magick
4
+
5
+ draw = Draw.new
6
+
7
+ draw.fill 'red'
8
+ draw.stroke 'blue'
9
+ draw.stroke_width(5)
10
+ draw.path 'M150 150 200 200 100 200'
11
+
12
+ b = Image.new(300, 300, HatchFill.new('white', 'black'))
13
+
14
+ draw.draw(b)
15
+
16
+ b.write('path_m_command_01.jpg')
@@ -0,0 +1,16 @@
1
+ require File.join(File.dirname(__FILE__), 'new_image.rb')
2
+
3
+ include Magick
4
+
5
+ draw = Draw.new
6
+
7
+ draw.fill 'red'
8
+ draw.stroke 'blue'
9
+ draw.stroke_width(5)
10
+ draw.path 'M50 50 100 100 0 100M190 190 290 190 290 290 190 290'
11
+
12
+ b = Image.new(300, 300, HatchFill.new('white', 'black'))
13
+
14
+ draw.draw(b)
15
+
16
+ b.write('path_m_command_02.jpg')
@@ -0,0 +1,16 @@
1
+ require File.join(File.dirname(__FILE__), 'new_image.rb')
2
+
3
+ include Magick
4
+
5
+ draw = Draw.new
6
+
7
+ draw.fill 'red'
8
+ draw.stroke 'blue'
9
+ draw.stroke_width(5)
10
+ draw.path 'M50 50 100 100 0 100m190 90 100 0 0 100 -100 0'
11
+
12
+ b = Image.new(300, 300, HatchFill.new('white', 'black'))
13
+
14
+ draw.draw(b)
15
+
16
+ b.write('path_m_command_03.jpg')