rmagick 2.13.4 → 2.14.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rmagick might be problematic. Click here for more details.

Files changed (255) hide show
  1. checksums.yaml +4 -4
  2. data/.hound.yml +2 -0
  3. data/.rubocop.yml +284 -0
  4. data/.simplecov +27 -0
  5. data/.travis.yml +24 -12
  6. data/ChangeLog +12 -0
  7. data/Gemfile +3 -0
  8. data/README.textile +63 -1
  9. data/Rakefile +53 -44
  10. data/before_install_linux.sh +15 -6
  11. data/deprecated/RMagick.rb +6 -0
  12. data/doc/comtasks.html +1 -1
  13. data/doc/ex/InitialCoords.rb +16 -17
  14. data/doc/ex/NewCoordSys.rb +21 -23
  15. data/doc/ex/OrigCoordSys.rb +8 -10
  16. data/doc/ex/PreserveAspectRatio.rb +182 -183
  17. data/doc/ex/RotateScale.rb +27 -28
  18. data/doc/ex/Skew.rb +27 -27
  19. data/doc/ex/Use01.rb +7 -8
  20. data/doc/ex/Use02.rb +11 -12
  21. data/doc/ex/Use03.rb +7 -7
  22. data/doc/ex/ViewBox.rb +16 -18
  23. data/doc/ex/adaptive_threshold.rb +4 -5
  24. data/doc/ex/add_noise.rb +4 -5
  25. data/doc/ex/affine.rb +4 -4
  26. data/doc/ex/affine_transform.rb +4 -4
  27. data/doc/ex/arc.rb +10 -10
  28. data/doc/ex/arcpath.rb +7 -8
  29. data/doc/ex/arcs01.rb +10 -10
  30. data/doc/ex/arcs02.rb +36 -38
  31. data/doc/ex/average.rb +5 -5
  32. data/doc/ex/axes.rb +4 -4
  33. data/doc/ex/baseline_shift01.rb +11 -12
  34. data/doc/ex/bilevel_channel.rb +2 -3
  35. data/doc/ex/blur_image.rb +2 -2
  36. data/doc/ex/border.rb +2 -2
  37. data/doc/ex/bounding_box.rb +9 -11
  38. data/doc/ex/cbezier1.rb +3 -4
  39. data/doc/ex/cbezier2.rb +3 -4
  40. data/doc/ex/cbezier3.rb +3 -4
  41. data/doc/ex/cbezier4.rb +3 -4
  42. data/doc/ex/cbezier5.rb +2 -3
  43. data/doc/ex/cbezier6.rb +3 -3
  44. data/doc/ex/channel.rb +10 -11
  45. data/doc/ex/charcoal.rb +2 -2
  46. data/doc/ex/chop.rb +2 -2
  47. data/doc/ex/circle.rb +3 -3
  48. data/doc/ex/circle01.rb +6 -7
  49. data/doc/ex/clip_path.rb +12 -12
  50. data/doc/ex/coalesce.rb +32 -35
  51. data/doc/ex/color_fill_to_border.rb +6 -6
  52. data/doc/ex/color_floodfill.rb +2 -2
  53. data/doc/ex/color_histogram.rb +17 -18
  54. data/doc/ex/color_reset.rb +2 -2
  55. data/doc/ex/colorize.rb +2 -2
  56. data/doc/ex/colors.rb +30 -30
  57. data/doc/ex/compose_mask.rb +8 -9
  58. data/doc/ex/composite.rb +14 -16
  59. data/doc/ex/composite_layers.rb +15 -15
  60. data/doc/ex/composite_tiled.rb +5 -7
  61. data/doc/ex/contrast.rb +12 -12
  62. data/doc/ex/crop.rb +3 -3
  63. data/doc/ex/crop_with_gravity.rb +13 -17
  64. data/doc/ex/cubic01.rb +18 -20
  65. data/doc/ex/cubic02.rb +64 -67
  66. data/doc/ex/cycle_colormap.rb +2 -2
  67. data/doc/ex/dissolve.rb +2 -3
  68. data/doc/ex/drawcomp.rb +34 -34
  69. data/doc/ex/drop_shadow.rb +8 -8
  70. data/doc/ex/edge.rb +2 -2
  71. data/doc/ex/ellipse.rb +4 -4
  72. data/doc/ex/ellipse01.rb +10 -11
  73. data/doc/ex/emboss.rb +2 -2
  74. data/doc/ex/enhance.rb +2 -2
  75. data/doc/ex/equalize.rb +2 -2
  76. data/doc/ex/evenodd.rb +31 -32
  77. data/doc/ex/fill_pattern.rb +12 -15
  78. data/doc/ex/flatten_images.rb +13 -13
  79. data/doc/ex/flip.rb +2 -2
  80. data/doc/ex/flop.rb +2 -2
  81. data/doc/ex/font_styles.rb +21 -23
  82. data/doc/ex/fonts.rb +14 -14
  83. data/doc/ex/frame.rb +3 -3
  84. data/doc/ex/gaussian_blur.rb +2 -2
  85. data/doc/ex/get_multiline_type_metrics.rb +6 -7
  86. data/doc/ex/get_pixels.rb +13 -14
  87. data/doc/ex/get_type_metrics.rb +26 -31
  88. data/doc/ex/gradientfill.rb +12 -12
  89. data/doc/ex/grav.rb +4 -5
  90. data/doc/ex/gravity.rb +59 -59
  91. data/doc/ex/group.rb +16 -16
  92. data/doc/ex/hatchfill.rb +10 -10
  93. data/doc/ex/image.rb +29 -31
  94. data/doc/ex/implode.rb +17 -17
  95. data/doc/ex/level.rb +2 -2
  96. data/doc/ex/level_colors.rb +4 -4
  97. data/doc/ex/line.rb +4 -5
  98. data/doc/ex/line01.rb +11 -13
  99. data/doc/ex/mask.rb +7 -8
  100. data/doc/ex/matte_fill_to_border.rb +2 -3
  101. data/doc/ex/matte_floodfill.rb +2 -3
  102. data/doc/ex/matte_replace.rb +2 -3
  103. data/doc/ex/median_filter.rb +2 -2
  104. data/doc/ex/modulate.rb +2 -2
  105. data/doc/ex/mono.rb +4 -4
  106. data/doc/ex/morph.rb +7 -8
  107. data/doc/ex/mosaic.rb +15 -15
  108. data/doc/ex/motion_blur.rb +2 -2
  109. data/doc/ex/negate.rb +2 -2
  110. data/doc/ex/negate_channel.rb +2 -2
  111. data/doc/ex/nested_rvg.rb +11 -11
  112. data/doc/ex/nonzero.rb +31 -32
  113. data/doc/ex/normalize.rb +2 -2
  114. data/doc/ex/oil_paint.rb +2 -2
  115. data/doc/ex/opacity.rb +3 -3
  116. data/doc/ex/ordered_dither.rb +2 -2
  117. data/doc/ex/path.rb +4 -5
  118. data/doc/ex/pattern1.rb +10 -10
  119. data/doc/ex/pattern2.rb +7 -7
  120. data/doc/ex/polaroid.rb +13 -14
  121. data/doc/ex/polygon.rb +6 -7
  122. data/doc/ex/polygon01.rb +10 -12
  123. data/doc/ex/polyline.rb +4 -5
  124. data/doc/ex/polyline01.rb +11 -13
  125. data/doc/ex/posterize.rb +2 -2
  126. data/doc/ex/preview.rb +3 -4
  127. data/doc/ex/qbezierpath.rb +5 -5
  128. data/doc/ex/quad01.rb +23 -25
  129. data/doc/ex/quantize-m.rb +5 -5
  130. data/doc/ex/radial_blur.rb +2 -2
  131. data/doc/ex/raise.rb +2 -2
  132. data/doc/ex/random_threshold_channel.rb +2 -2
  133. data/doc/ex/rect01.rb +6 -7
  134. data/doc/ex/rect02.rb +9 -11
  135. data/doc/ex/rectangle.rb +3 -4
  136. data/doc/ex/reduce_noise.rb +2 -2
  137. data/doc/ex/remap.rb +7 -8
  138. data/doc/ex/remap_images.rb +9 -11
  139. data/doc/ex/resize_to_fill.rb +3 -5
  140. data/doc/ex/resize_to_fit.rb +3 -5
  141. data/doc/ex/roll.rb +2 -2
  142. data/doc/ex/rotate.rb +6 -7
  143. data/doc/ex/rotate_f.rb +2 -2
  144. data/doc/ex/roundrect.rb +4 -5
  145. data/doc/ex/rubyname.rb +11 -11
  146. data/doc/ex/rvg_clippath.rb +5 -7
  147. data/doc/ex/rvg_linecap.rb +25 -26
  148. data/doc/ex/rvg_linejoin.rb +25 -26
  149. data/doc/ex/rvg_opacity.rb +10 -11
  150. data/doc/ex/rvg_pattern.rb +15 -15
  151. data/doc/ex/rvg_stroke_dasharray.rb +6 -7
  152. data/doc/ex/segment.rb +2 -2
  153. data/doc/ex/sepiatone.rb +2 -3
  154. data/doc/ex/shade.rb +2 -2
  155. data/doc/ex/shadow.rb +2 -3
  156. data/doc/ex/shave.rb +2 -2
  157. data/doc/ex/shear.rb +3 -3
  158. data/doc/ex/sketch.rb +2 -3
  159. data/doc/ex/skewx.rb +4 -5
  160. data/doc/ex/skewy.rb +3 -3
  161. data/doc/ex/smile.rb +113 -113
  162. data/doc/ex/solarize.rb +2 -2
  163. data/doc/ex/sparse_color.rb +29 -30
  164. data/doc/ex/splice.rb +2 -3
  165. data/doc/ex/spread.rb +2 -2
  166. data/doc/ex/stegano.rb +34 -34
  167. data/doc/ex/stroke_dasharray.rb +4 -5
  168. data/doc/ex/stroke_fill.rb +4 -5
  169. data/doc/ex/stroke_linecap.rb +3 -3
  170. data/doc/ex/stroke_linejoin.rb +3 -3
  171. data/doc/ex/stroke_width.rb +3 -3
  172. data/doc/ex/swirl.rb +2 -2
  173. data/doc/ex/text.rb +4 -4
  174. data/doc/ex/text01.rb +7 -8
  175. data/doc/ex/text_align.rb +2 -2
  176. data/doc/ex/text_antialias.rb +9 -10
  177. data/doc/ex/text_styles.rb +11 -13
  178. data/doc/ex/text_undercolor.rb +2 -2
  179. data/doc/ex/texture_fill_to_border.rb +6 -6
  180. data/doc/ex/texture_floodfill.rb +2 -2
  181. data/doc/ex/texturefill.rb +10 -11
  182. data/doc/ex/threshold.rb +2 -2
  183. data/doc/ex/to_blob.rb +4 -5
  184. data/doc/ex/translate.rb +6 -6
  185. data/doc/ex/transparent.rb +5 -5
  186. data/doc/ex/transpose.rb +2 -2
  187. data/doc/ex/transverse.rb +2 -2
  188. data/doc/ex/tref01.rb +11 -12
  189. data/doc/ex/triangle01.rb +5 -6
  190. data/doc/ex/trim.rb +1 -2
  191. data/doc/ex/tspan01.rb +8 -9
  192. data/doc/ex/tspan02.rb +9 -11
  193. data/doc/ex/tspan03.rb +9 -11
  194. data/doc/ex/unsharp_mask.rb +2 -2
  195. data/doc/ex/viewex.rb +19 -21
  196. data/doc/ex/vignette.rb +2 -2
  197. data/doc/ex/watermark.rb +15 -16
  198. data/doc/ex/wave.rb +2 -2
  199. data/doc/ex/wet_floor.rb +17 -18
  200. data/doc/ex/writing_mode01.rb +8 -9
  201. data/doc/ex/writing_mode02.rb +8 -8
  202. data/doc/ilist.html +1 -1
  203. data/doc/usage.html +8 -8
  204. data/examples/constitute.rb +6 -6
  205. data/examples/crop_with_gravity.rb +13 -17
  206. data/examples/demo.rb +305 -305
  207. data/examples/describe.rb +27 -28
  208. data/examples/find_similar_region.rb +16 -16
  209. data/examples/histogram.rb +228 -232
  210. data/examples/identify.rb +165 -167
  211. data/examples/image_opacity.rb +4 -4
  212. data/examples/import_export.rb +10 -10
  213. data/examples/pattern_fill.rb +9 -9
  214. data/examples/rotating_text.rb +13 -14
  215. data/examples/spinner.rb +18 -19
  216. data/examples/thumbnail.rb +13 -14
  217. data/examples/vignette.rb +8 -9
  218. data/ext/RMagick/extconf.rb +417 -370
  219. data/ext/RMagick/rmdraw.c +14 -7
  220. data/ext/RMagick/rmenum.c +5 -3
  221. data/ext/RMagick/rmmain.c +8 -3
  222. data/ext/RMagick/rmutil.c +2 -2
  223. data/lib/rmagick/version.rb +3 -3
  224. data/lib/rmagick_internal.rb +1782 -1801
  225. data/lib/rvg/clippath.rb +2 -6
  226. data/lib/rvg/container.rb +4 -12
  227. data/lib/rvg/deep_equal.rb +5 -7
  228. data/lib/rvg/describable.rb +0 -5
  229. data/lib/rvg/embellishable.rb +24 -54
  230. data/lib/rvg/misc.rb +55 -87
  231. data/lib/rvg/paint.rb +0 -4
  232. data/lib/rvg/pathdata.rb +12 -16
  233. data/lib/rvg/rvg.rb +21 -24
  234. data/lib/rvg/stretchable.rb +14 -18
  235. data/lib/rvg/stylable.rb +7 -14
  236. data/lib/rvg/text.rb +9 -23
  237. data/lib/rvg/transformable.rb +2 -9
  238. data/lib/rvg/units.rb +1 -4
  239. data/rmagick.gemspec +23 -14
  240. data/test/Draw.rb +22 -24
  241. data/test/Image1.rb +78 -82
  242. data/test/Image2.rb +143 -151
  243. data/test/Image3.rb +47 -50
  244. data/test/ImageList1.rb +7 -9
  245. data/test/ImageList2.rb +30 -34
  246. data/test/Image_attributes.rb +23 -26
  247. data/test/Import_Export.rb +25 -30
  248. data/test/Info.rb +66 -70
  249. data/test/Magick.rb +45 -50
  250. data/test/Pixel.rb +10 -13
  251. data/test/Preview.rb +6 -11
  252. data/test/test_all_basic.rb +15 -10
  253. data/test/tmpnam_test.rb +3 -3
  254. metadata +24 -6
  255. data/lib/RMagick.rb +0 -1
@@ -1,15 +1,15 @@
1
- #! /usr/local/bin/ruby -w
1
+ #!/usr/bin/env ruby -w
2
2
  # Demonstrate ImageList#average method
3
- require 'RMagick'
3
+ require 'rmagick'
4
4
 
5
- images = Magick::ImageList.new("images/Button_A.gif", "images/Button_B.gif", "images/Button_C.gif")
5
+ images = Magick::ImageList.new('images/Button_A.gif', 'images/Button_B.gif', 'images/Button_C.gif')
6
6
 
7
7
  group = images.append false
8
8
  group.compression = Magick::LZWCompression
9
- group.write "average_before.gif"
9
+ group.write 'average_before.gif'
10
10
 
11
11
  average_image = images.average
12
12
 
13
13
  average_image.compression = Magick::LZWCompression
14
- average_image.write "average_after.gif"
14
+ average_image.write 'average_after.gif'
15
15
  exit
@@ -1,6 +1,6 @@
1
- #!/usr/local/bin/ruby -w
1
+ #!/usr/bin/env ruby -w
2
2
 
3
- require 'RMagick'
3
+ require 'rmagick'
4
4
 
5
5
  # Demonstrate the use of RMagick's Draw class
6
6
  # and show the default coordinate system.
@@ -56,9 +56,9 @@ labels.text(20,30, "'+x'")
56
56
  labels.gravity(Magick::SouthWestGravity)
57
57
  labels.text(20,20, "'+y'")
58
58
  labels.gravity(Magick::CenterGravity)
59
- labels.text(0,0, "Rotation")
59
+ labels.text(0,0, 'Rotation')
60
60
  labels.draw(canvas)
61
61
 
62
62
  #canvas.display
63
- canvas.write("axes.gif")
63
+ canvas.write('axes.gif')
64
64
  exit
@@ -1,18 +1,17 @@
1
1
  require 'rvg/rvg'
2
2
 
3
3
  rvg = Magick::RVG.new(150, 100) do |canvas|
4
- canvas.background_fill = 'white'
5
- canvas.text(40, 35).styles(:font_weight=>'bold', :font_size=>28) do |txt|
6
- txt.tspan('H')
7
- txt.tspan('2').styles(:font_size=>20, :fill=>'red', :baseline_shift=>'sub')
8
- txt.tspan('O')
9
- end
10
- canvas.text(40, 80).styles(:font_style=>'italic', :font_size=>28) do |txt|
11
- txt.tspan('e=mc')
12
- txt.tspan('2').styles(:font_size=>20, :fill=>'red', :baseline_shift=>'super')
13
- end
14
- canvas.rect(149, 99).styles(:fill=>'none', :stroke=>'blue')
4
+ canvas.background_fill = 'white'
5
+ canvas.text(40, 35).styles(:font_weight=>'bold', :font_size=>28) do |txt|
6
+ txt.tspan('H')
7
+ txt.tspan('2').styles(:font_size=>20, :fill=>'red', :baseline_shift=>'sub')
8
+ txt.tspan('O')
9
+ end
10
+ canvas.text(40, 80).styles(:font_style=>'italic', :font_size=>28) do |txt|
11
+ txt.tspan('e=mc')
12
+ txt.tspan('2').styles(:font_size=>20, :fill=>'red', :baseline_shift=>'super')
13
+ end
14
+ canvas.rect(149, 99).styles(:fill=>'none', :stroke=>'blue')
15
15
  end
16
16
 
17
17
  rvg.draw.write('baseline_shift01.gif')
18
-
@@ -1,9 +1,8 @@
1
- #! /usr/local/bin/ruby -w
1
+ #!/usr/bin/env ruby -w
2
2
 
3
- require 'RMagick'
3
+ require 'rmagick'
4
4
 
5
5
  img = Magick::Image.read('images/Flower_Hat.jpg').first
6
6
  result = img.bilevel_channel(2*Magick::QuantumRange/3, Magick::RedChannel)
7
7
  result.write('bilevel_channel.jpg')
8
8
  exit
9
-
@@ -1,5 +1,5 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
1
+ #!/usr/bin/env ruby -w
2
+ require 'rmagick'
3
3
 
4
4
  # Demonstrate the Image#blur_image method
5
5
 
@@ -1,5 +1,5 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
1
+ #!/usr/bin/env ruby -w
2
+ require 'rmagick'
3
3
 
4
4
  # Demonstrate the Image#border method
5
5
 
@@ -1,12 +1,12 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
1
+ #!/usr/bin/env ruby -w
2
+ require 'rmagick'
3
3
 
4
- img = Magick::Image.new(200,200) { self.background_color = "#ffffcc" }
4
+ img = Magick::Image.new(200,200) { self.background_color = '#ffffcc' }
5
5
 
6
6
  # Draw a blue circle.
7
7
  gc = Magick::Draw.new
8
8
  gc.stroke_width(5)
9
- gc.stroke("blue")
9
+ gc.stroke('blue')
10
10
  gc.fill_opacity(0)
11
11
  gc.circle(100,100, 100,150)
12
12
  gc.draw(img)
@@ -17,18 +17,17 @@ gc.draw(img)
17
17
 
18
18
  bb = img.bounding_box
19
19
  gc = Magick::Draw.new
20
- gc.stroke("gray50")
20
+ gc.stroke('gray50')
21
21
  gc.fill_opacity(0)
22
22
  gc.rectangle(bb.x, bb.y, bb.x+bb.width, bb.y+bb.height)
23
- gc.stroke("red")
23
+ gc.stroke('red')
24
24
  gc.circle(bb.x, bb.y, bb.x+2, bb.y+2)
25
25
  gc.circle(bb.x+bb.width, bb.y, bb.x+bb.width+2, bb.y+2)
26
26
  gc.circle(bb.x, bb.y+bb.height, bb.x+2, bb.y+bb.height+2)
27
27
  gc.circle(bb.x+bb.width, bb.y+bb.height, bb.x+bb.width+2, bb.y+bb.height+2)
28
28
 
29
-
30
- gc.fill("black")
31
- gc.stroke("transparent")
29
+ gc.fill('black')
30
+ gc.stroke('transparent')
32
31
  gc.font_weight(Magick::NormalWeight)
33
32
  gc.font_style(Magick::NormalStyle)
34
33
  gc.pointsize(9)
@@ -37,8 +36,7 @@ gc.text(bb.x+bb.width-15, bb.y-5, "\'#{bb.x+bb.width},#{bb.y}\'")
37
36
  gc.text(bb.x-15, bb.y+bb.height+15, "\'#{bb.x},#{bb.y+bb.height}\'")
38
37
  gc.text(bb.x+bb.width-15, bb.y+bb.height+15, "\'#{bb.x+bb.width},#{bb.y+bb.height}\'")
39
38
 
40
-
41
39
  gc.draw(img)
42
40
 
43
- img.write("bounding_box.gif")
41
+ img.write('bounding_box.gif')
44
42
  exit
@@ -1,5 +1,5 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
1
+ #!/usr/bin/env ruby -w
2
+ require 'rmagick'
3
3
 
4
4
  imgl = Magick::ImageList.new
5
5
  imgl.new_image(390, 140, Magick::HatchFill.new('white','lightcyan2'))
@@ -36,7 +36,6 @@ gc.text(327,120, "'320,120'")
36
36
  gc.text(327,20, "'320,20'")
37
37
  gc.draw(imgl)
38
38
 
39
- imgl.border!(1, 1, "lightcyan2")
39
+ imgl.border!(1, 1, 'lightcyan2')
40
40
  imgl.write('cbezier1.gif')
41
41
  exit(0)
42
-
@@ -1,5 +1,5 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
1
+ #!/usr/bin/env ruby -w
2
+ require 'rmagick'
3
3
 
4
4
  imgl = Magick::ImageList.new
5
5
  imgl.new_image(470, 150, Magick::HatchFill.new('white','lightcyan2'))
@@ -36,7 +36,6 @@ gc.text(335,125, "'325,125'")
36
36
  gc.text(405,25, "'400,25'")
37
37
 
38
38
  gc.draw(imgl)
39
- imgl.border!(1,1, "lightcyan2")
39
+ imgl.border!(1,1, 'lightcyan2')
40
40
  imgl.write('cbezier2.gif')
41
41
  exit(0)
42
-
@@ -1,5 +1,5 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
1
+ #!/usr/bin/env ruby -w
2
+ require 'rmagick'
3
3
 
4
4
  imgl = Magick::ImageList.new
5
5
  imgl.new_image(540, 200, Magick::HatchFill.new('white','lightcyan2'))
@@ -36,7 +36,6 @@ gc.text(409,150, "'400,150'")
36
36
  gc.text(480,50, "'475,50'")
37
37
 
38
38
  gc.draw(imgl)
39
- imgl.border!(1,1, "lightcyan2")
39
+ imgl.border!(1,1, 'lightcyan2')
40
40
  imgl.write('cbezier3.gif')
41
41
  exit(0)
42
-
@@ -1,5 +1,5 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
1
+ #!/usr/bin/env ruby -w
2
+ require 'rmagick'
3
3
 
4
4
  imgl = Magick::ImageList.new
5
5
  imgl.new_image(390, 360, Magick::HatchFill.new('white','lightcyan2'))
@@ -36,8 +36,7 @@ gc.text(329,330, "'320,330'")
36
36
  gc.text(329,180, "'320,180'")
37
37
 
38
38
  gc.draw(imgl)
39
- imgl.border!(1,1, "lightcyan2")
39
+ imgl.border!(1,1, 'lightcyan2')
40
40
 
41
41
  imgl.write('cbezier4.gif')
42
42
  exit(0)
43
-
@@ -1,5 +1,5 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
1
+ #!/usr/bin/env ruby -w
2
+ require 'rmagick'
3
3
 
4
4
  imgl = Magick::ImageList.new
5
5
  imgl.new_image(390, 150, Magick::HatchFill.new('white','lightcyan2'))
@@ -40,4 +40,3 @@ imgl.border!(1,1, 'lightcyan2')
40
40
 
41
41
  imgl.write('cbezier5.gif')
42
42
  exit(0)
43
-
@@ -1,6 +1,6 @@
1
- #! /usr/local/bin/ruby -w
1
+ #!/usr/bin/env ruby -w
2
2
 
3
- require 'RMagick'
3
+ require 'rmagick'
4
4
 
5
5
  imgl = Magick::ImageList.new
6
6
  imgl.new_image(400, 300, Magick::HatchFill.new('white','lightcyan2'))
@@ -49,5 +49,5 @@ gc.draw(imgl)
49
49
 
50
50
  imgl.border!(1,1, 'lightcyan2')
51
51
 
52
- imgl.write("cbezier6.gif")
52
+ imgl.write('cbezier6.gif')
53
53
  exit
@@ -1,6 +1,6 @@
1
- #! /usr/local/bin/ruby -w
1
+ #!/usr/bin/env ruby -w
2
2
 
3
- require 'RMagick'
3
+ require 'rmagick'
4
4
 
5
5
  img = Magick::Image.read('images/Flower_Hat.jpg').first
6
6
  imgs = Magick::ImageList.new
@@ -13,14 +13,13 @@ imgs.cur_image['Label'] = 'GreenChannel'
13
13
  imgs << img.channel(Magick::BlueChannel)
14
14
  imgs.cur_image['Label'] = 'BlueChannel'
15
15
 
16
- result = imgs.montage {
17
- self.tile = "2x2"
18
- self.background_color = 'black'
19
- self.stroke = 'transparent'
20
- self.fill = 'white'
21
- self.pointsize =9
22
- self.geometry = Magick::Geometry.new(img.columns/2, img.rows/2, 5, 5)
23
- }
16
+ result = imgs.montage do
17
+ self.tile = '2x2'
18
+ self.background_color = 'black'
19
+ self.stroke = 'transparent'
20
+ self.fill = 'white'
21
+ self.pointsize =9
22
+ self.geometry = Magick::Geometry.new(img.columns/2, img.rows/2, 5, 5)
23
+ end
24
24
 
25
25
  result.write('channel.jpg')
26
-
@@ -1,5 +1,5 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
1
+ #!/usr/bin/env ruby -w
2
+ require 'rmagick'
3
3
 
4
4
  # Demonstrate the Image#charcoal method
5
5
 
@@ -1,5 +1,5 @@
1
- #!/usr/local/bin/ruby -w
2
- require 'RMagick'
1
+ #!/usr/bin/env ruby -w
2
+ require 'rmagick'
3
3
 
4
4
  # Demonstrate the Image#chop method
5
5
 
@@ -1,5 +1,5 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
1
+ #!/usr/bin/env ruby -w
2
+ require 'rmagick'
3
3
 
4
4
  imgl = Magick::ImageList.new
5
5
  imgl.new_image(250, 250, Magick::HatchFill.new('white','LightCyan2'))
@@ -30,4 +30,4 @@ gc.text(32,125, "'25,125'")
30
30
  gc.draw(imgl)
31
31
 
32
32
  imgl.border!(1,1, 'lightcyan2')
33
- imgl.write("circle.gif")
33
+ imgl.write('circle.gif')
@@ -3,15 +3,14 @@ require 'rvg/rvg'
3
3
  Magick::RVG.dpi = 90
4
4
 
5
5
  rvg = Magick::RVG.new(12.cm, 4.cm) do |canvas|
6
- canvas.viewbox(0, 0, 1200, 400)
7
- canvas.background_fill = 'white'
8
- canvas.desc = "Example circle01 - circle filled with red and stroked with blue"
6
+ canvas.viewbox(0, 0, 1200, 400)
7
+ canvas.background_fill = 'white'
8
+ canvas.desc = 'Example circle01 - circle filled with red and stroked with blue'
9
9
 
10
- # Show outline of canvas using the 'rect' method
11
- canvas.rect(1195, 395, 1, 1).styles(:fill=>'none', :stroke=>'blue', :stroke_width=>2)
10
+ # Show outline of canvas using the 'rect' method
11
+ canvas.rect(1195, 395, 1, 1).styles(:fill=>'none', :stroke=>'blue', :stroke_width=>2)
12
12
 
13
- canvas.circle(100, 600, 200).styles(:fill=>'red', :stroke=>'blue', :stroke_width=>10)
13
+ canvas.circle(100, 600, 200).styles(:fill=>'red', :stroke=>'blue', :stroke_width=>10)
14
14
  end
15
15
 
16
16
  rvg.draw.write('circle01.gif')
17
-
@@ -1,18 +1,18 @@
1
- #! /usr/local/bin/ruby -w
1
+ #!/usr/bin/env ruby -w
2
2
 
3
- require 'RMagick'
3
+ require 'rmagick'
4
4
 
5
5
  points = [145, 65, 174,151, 264,151, 192,205,
6
6
  218,291, 145,240, 72,291, 98,205,
7
- 26,151, 116,151]
7
+ 26,151, 116,151]
8
8
 
9
9
  pr = Magick::Draw.new
10
10
 
11
11
  # Define a clip-path.
12
12
  # The name of the clip-path is "example"
13
- pr.define_clip_path('example') {
14
- pr.polygon(*points)
15
- }
13
+ pr.define_clip_path('example') do
14
+ pr.polygon(*points)
15
+ end
16
16
 
17
17
  # Enable the clip-path
18
18
  pr.push
@@ -21,7 +21,7 @@ pr.clip_path('example')
21
21
  # Composite the Flower Hat image over
22
22
  # the background using the clip-path
23
23
  girl = Magick::ImageList.new
24
- girl.read("images/Flower_Hat.jpg")
24
+ girl.read('images/Flower_Hat.jpg')
25
25
 
26
26
  cols = rows = nil
27
27
 
@@ -29,10 +29,10 @@ cols = rows = nil
29
29
  # we widen our picture to fit. The change_geometry
30
30
  # method will adjust the height proportionately.
31
31
 
32
- girl.change_geometry("280") do |c,r|
33
- pr.composite(0,0, c, r, girl)
34
- cols = c
35
- rows = r
32
+ girl.change_geometry('280') do |c,r|
33
+ pr.composite(0,0, c, r, girl)
34
+ cols = c
35
+ rows = r
36
36
  end
37
37
 
38
38
  pr.pop
@@ -55,6 +55,6 @@ pr.draw(canvas)
55
55
  crop = canvas.bounding_box
56
56
  canvas.crop!(crop.x, crop.y, crop.width, crop.height)
57
57
 
58
- canvas.write("clip_path.gif")
58
+ canvas.write('clip_path.gif')
59
59
 
60
60
  exit
@@ -1,24 +1,24 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
1
+ #!/usr/bin/env ruby -w
2
+ require 'rmagick'
3
3
 
4
4
  buttons = Magick::ImageList.new
5
5
 
6
6
  # Read 25 alphabet image files, scale to 1/4 size
7
7
  letter = 'A'
8
- 26.times {
9
- if letter != 'M' # "M" is not the same size as the other letters
10
- tiny = Magick::Image.read('images/Button_' + letter + '.gif').first
11
- tiny.scale! 0.25
12
- buttons << tiny
13
- end
14
- letter.succ!
15
- }
8
+ 26.times do
9
+ if letter != 'M' # "M" is not the same size as the other letters
10
+ tiny = Magick::Image.read('images/Button_' + letter + '.gif').first
11
+ tiny.scale! 0.25
12
+ buttons << tiny
13
+ end
14
+ letter.succ!
15
+ end
16
16
 
17
17
  # Create a image that will hold the alphabet images in 5 rows and 5 columns.
18
18
  cells = Magick::ImageList.new
19
19
  cells.new_image buttons.columns*5, buttons.rows*5 do
20
- self.background_color = "#000000ff" # transparent
21
- end
20
+ self.background_color = '#000000ff' # transparent
21
+ end
22
22
  cells.matte = true
23
23
 
24
24
  offset = Magick::Rectangle.new(0,0,0,0)
@@ -31,30 +31,27 @@ col = (0..4).to_a * 5
31
31
  # over the result, and so forth, respecting the page offset of the images.
32
32
 
33
33
  srand 1234
34
- 25.times { |i|
35
- # Randomly select a row and column for this copy of the "tinya" image.
36
- # Compute the x,y position of this copy in pixels and store the
37
- # result in the image's page attribute. Append a copy of the image
38
- # to the image array in "a".
39
- n = rand row.length
40
- x = row.delete_at n
41
- y = col.delete_at n
42
-
43
- button = buttons[i]
44
- offset.x = x*button.columns
45
- offset.y = y*button.rows
46
- button.page = offset
47
- button.matte = true
48
- cells << button
49
- }
50
-
51
- puts "This may take a few seconds..."
34
+ 25.times do |i|
35
+ # Randomly select a row and column for this copy of the "tinya" image.
36
+ # Compute the x,y position of this copy in pixels and store the
37
+ # result in the image's page attribute. Append a copy of the image
38
+ # to the image array in "a".
39
+ n = rand row.length
40
+ x = row.delete_at n
41
+ y = col.delete_at n
42
+
43
+ button = buttons[i]
44
+ offset.x = x*button.columns
45
+ offset.y = y*button.rows
46
+ button.page = offset
47
+ button.matte = true
48
+ cells << button
49
+ end
50
+
51
+ puts 'This may take a few seconds...'
52
52
  cells.delay = 10
53
53
  cells.iterations = 10000
54
54
  res = cells.coalesce
55
- res.write "coalesce_anim.gif"
56
- res[25].write "coalesce.gif"
55
+ res.write 'coalesce_anim.gif'
56
+ res[25].write 'coalesce.gif'
57
57
  exit
58
-
59
-
60
-