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
@@ -3,24 +3,24 @@ require 'rvg/rvg'
3
3
  Magick::RVG.dpi = 90
4
4
 
5
5
  rvg = Magick::RVG.new(6.cm, 4.cm).viewbox(0,0,600,400) do |canvas|
6
- canvas.background_fill = 'white'
7
- canvas.rect(595,395,1,1).styles(:stroke=>'blue', :fill=>'none', :stroke_width=>2)
6
+ canvas.background_fill = 'white'
7
+ canvas.rect(595,395,1,1).styles(:stroke=>'blue', :fill=>'none', :stroke_width=>2)
8
8
 
9
- # Define a stick figure.
10
- stick = Magick::RVG::Group.new.styles(:stroke=>'black', :fill=>'none', :stroke_width=>6) do |fig|
11
- fig.circle(42, 50, 50).styles(:stroke=>'red')
12
- fig.polyline(30,40, 50,40, 45,60, 50,40, 65,40).styles(:stroke_width=>4)
13
- fig.polyline(10,100, 50,130, 90,100)
14
- fig.line(50,97, 50, 155)
15
- fig.polyline(10,200, 50,155, 90,200)
16
- end
9
+ # Define a stick figure.
10
+ stick = Magick::RVG::Group.new.styles(:stroke=>'black', :fill=>'none', :stroke_width=>6) do |fig|
11
+ fig.circle(42, 50, 50).styles(:stroke=>'red')
12
+ fig.polyline(30,40, 50,40, 45,60, 50,40, 65,40).styles(:stroke_width=>4)
13
+ fig.polyline(10,100, 50,130, 90,100)
14
+ fig.line(50,97, 50, 155)
15
+ fig.polyline(10,200, 50,155, 90,200)
16
+ end
17
17
 
18
- # Draw 12 copies.
19
- 2.times {|y|
20
- 6.times {|x|
21
- canvas.use(stick, x*100, y*200)
22
- }
23
- }
18
+ # Draw 12 copies.
19
+ 2.times do|y|
20
+ 6.times do|x|
21
+ canvas.use(stick, x*100, y*200)
22
+ end
23
+ end
24
24
  end
25
25
 
26
26
  rvg.draw.write('group.gif')
@@ -1,13 +1,13 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
1
+ #!/usr/bin/env ruby -w
2
+ require 'rmagick'
3
3
 
4
4
  # Demonstrate the HatchFill class
5
5
 
6
6
  Cols = 300
7
7
  Rows = 100
8
8
 
9
- Background = "white"
10
- Foreground = "LightCyan2"
9
+ Background = 'white'
10
+ Foreground = 'LightCyan2'
11
11
 
12
12
  fill = Magick::HatchFill.new(Background, Foreground)
13
13
  img = Magick::ImageList.new
@@ -16,12 +16,12 @@ img.new_image(Cols, Rows, fill)
16
16
  # Annotate the filled image with the code that created the fill.
17
17
 
18
18
  ann = Magick::Draw.new
19
- ann.annotate(img, 0,0,0,0, "HatchFill.new('#{Background}', '#{Foreground}')") {
20
- self.gravity = Magick::CenterGravity
21
- self.fill = 'black'
22
- self.stroke = 'transparent'
23
- self.pointsize = 14
24
- }
19
+ ann.annotate(img, 0,0,0,0, "HatchFill.new('#{Background}', '#{Foreground}')") do
20
+ self.gravity = Magick::CenterGravity
21
+ self.fill = 'black'
22
+ self.stroke = 'transparent'
23
+ self.pointsize = 14
24
+ end
25
25
  #img.display
26
26
  img.write('hatchfill.gif')
27
27
  exit
@@ -1,46 +1,44 @@
1
1
  require 'rvg/rvg'
2
2
 
3
3
  rvg = Magick::RVG.new(525, 270) do |canvas|
4
- canvas.background_fill = 'white'
5
- canvas.rect(524, 269).styles(:fill=>'none', :stroke=>'blue', :stroke_width=>1)
4
+ canvas.background_fill = 'white'
5
+ canvas.rect(524, 269).styles(:fill=>'none', :stroke=>'blue', :stroke_width=>1)
6
6
 
7
- hat = ::Magick::Image.read('images/Flower_Hat.jpg').first
7
+ hat = ::Magick::Image.read('images/Flower_Hat.jpg').first
8
8
 
9
- canvas.image(hat, 100, 75, 25, 40).preserve_aspect_ratio('none')
10
- canvas.rect(100, 75, 25, 40).styles(:fill => 'none', :stroke => 'blue')
9
+ canvas.image(hat, 100, 75, 25, 40).preserve_aspect_ratio('none')
10
+ canvas.rect(100, 75, 25, 40).styles(:fill => 'none', :stroke => 'blue')
11
11
 
12
- canvas.image(hat, 100, 75, 150, 40).preserve_aspect_ratio('xMinYMin', 'meet')
13
- canvas.rect(100, 75, 150, 40).styles(:fill => 'none', :stroke => 'blue')
12
+ canvas.image(hat, 100, 75, 150, 40).preserve_aspect_ratio('xMinYMin', 'meet')
13
+ canvas.rect(100, 75, 150, 40).styles(:fill => 'none', :stroke => 'blue')
14
14
 
15
- canvas.image(hat, 100, 75, 275, 40).preserve_aspect_ratio('xMidYMid', 'meet')
16
- canvas.rect(100, 75, 275, 40).styles(:fill => 'none', :stroke => 'blue')
15
+ canvas.image(hat, 100, 75, 275, 40).preserve_aspect_ratio('xMidYMid', 'meet')
16
+ canvas.rect(100, 75, 275, 40).styles(:fill => 'none', :stroke => 'blue')
17
17
 
18
- canvas.image(hat, 100, 75, 400, 40).preserve_aspect_ratio('xMaxYMax', 'meet')
19
- canvas.rect(100, 75, 400, 40).styles(:fill => 'none', :stroke => 'blue')
18
+ canvas.image(hat, 100, 75, 400, 40).preserve_aspect_ratio('xMaxYMax', 'meet')
19
+ canvas.rect(100, 75, 400, 40).styles(:fill => 'none', :stroke => 'blue')
20
20
 
21
- canvas.image(hat, 100, 75, 150, 155).preserve_aspect_ratio('xMinYMin', 'slice')
22
- canvas.rect(100, 75, 150, 155).styles(:fill => 'none', :stroke => 'blue')
21
+ canvas.image(hat, 100, 75, 150, 155).preserve_aspect_ratio('xMinYMin', 'slice')
22
+ canvas.rect(100, 75, 150, 155).styles(:fill => 'none', :stroke => 'blue')
23
23
 
24
- canvas.image(hat, 100, 75, 275, 155).preserve_aspect_ratio('xMidYMid', 'slice')
25
- canvas.rect(100, 75, 275, 155).styles(:fill => 'none', :stroke => 'blue')
24
+ canvas.image(hat, 100, 75, 275, 155).preserve_aspect_ratio('xMidYMid', 'slice')
25
+ canvas.rect(100, 75, 275, 155).styles(:fill => 'none', :stroke => 'blue')
26
26
 
27
- canvas.image(hat, 100, 75, 400, 155).preserve_aspect_ratio('xMaxYMax', 'slice')
28
- canvas.rect(100, 75, 400, 155).styles(:fill => 'none', :stroke => 'blue')
29
-
30
- canvas.line(150, 20, 305, 20)
31
- canvas.line(345, 20, 500, 20)
32
- canvas.line(150, 250, 305, 250)
33
- canvas.line(340, 250, 500, 250)
34
- canvas.g.styles(:stroke=>'none', :font_weight=>'normal', :font_style=>'normal') do |t|
35
- t.text(310, 23, 'meet')
36
- t.text(60, 140, 'none')
37
- t.text(170, 140, 'xMinYMin')
38
- t.text(300, 140, 'xMidYMid')
39
- t.text(425, 140, 'xMaxYMax')
40
- t.text(310, 253, 'slice')
41
- end
27
+ canvas.image(hat, 100, 75, 400, 155).preserve_aspect_ratio('xMaxYMax', 'slice')
28
+ canvas.rect(100, 75, 400, 155).styles(:fill => 'none', :stroke => 'blue')
42
29
 
30
+ canvas.line(150, 20, 305, 20)
31
+ canvas.line(345, 20, 500, 20)
32
+ canvas.line(150, 250, 305, 250)
33
+ canvas.line(340, 250, 500, 250)
34
+ canvas.g.styles(:stroke=>'none', :font_weight=>'normal', :font_style=>'normal') do |t|
35
+ t.text(310, 23, 'meet')
36
+ t.text(60, 140, 'none')
37
+ t.text(170, 140, 'xMinYMin')
38
+ t.text(300, 140, 'xMidYMid')
39
+ t.text(425, 140, 'xMaxYMax')
40
+ t.text(310, 253, 'slice')
41
+ end
43
42
  end
44
43
 
45
44
  rvg.draw.write('image.gif')
46
-
@@ -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
 
@@ -12,23 +12,23 @@ legend.gravity = Magick::SouthGravity
12
12
  frames = Magick::ImageList.new
13
13
 
14
14
  implosion = 0.25
15
- 8.times {
16
- frames << img.implode(implosion)
17
- legend.annotate(frames, 0,0,10,20, sprintf("% 4.2f", implosion))
18
- frames.matte = false
19
- implosion -= 0.10
20
- }
21
-
22
- 7.times {
23
- implosion += 0.10
24
- frames << img.implode(implosion)
25
- legend.annotate(frames, 0,0,10,20, sprintf("% 4.2f", implosion))
26
- frames.matte = false
27
- }
15
+ 8.times do
16
+ frames << img.implode(implosion)
17
+ legend.annotate(frames, 0,0,10,20, sprintf('% 4.2f', implosion))
18
+ frames.matte = false
19
+ implosion -= 0.10
20
+ end
21
+
22
+ 7.times do
23
+ implosion += 0.10
24
+ frames << img.implode(implosion)
25
+ legend.annotate(frames, 0,0,10,20, sprintf('% 4.2f', implosion))
26
+ frames.matte = false
27
+ end
28
28
 
29
29
  frames.delay = 10
30
30
  frames.iterations = 0
31
- puts "Producing animation..."
31
+ puts 'Producing animation...'
32
32
 
33
- frames.write("implode.gif")
33
+ frames.write('implode.gif')
34
34
  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
  # Demonstrate the Image#level method
5
5
 
@@ -1,11 +1,11 @@
1
- require 'RMagick'
1
+ require 'rmagick'
2
2
 
3
- img = Magick::Image.read("images/Flower_Hat.jpg").first
3
+ img = Magick::Image.read('images/Flower_Hat.jpg').first
4
4
  begin
5
- img = img.level_colors("green", "orange", true)
5
+ img = img.level_colors('green', 'orange', true)
6
6
  img.alpha(Magick::DeactivateAlphaChannel)
7
7
  rescue NotImplementedError
8
8
  not_imp = Magick::Image.read('images/notimplemented.gif').first
9
9
  img = not_imp.resize(img.columns, img.rows)
10
10
  end
11
- img.write("level_colors.jpg")
11
+ img.write('level_colors.jpg')
@@ -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'))
@@ -36,7 +36,6 @@ gc.text(30,220, "'50,200'")
36
36
  gc.text(180, 220, "'200,200'")
37
37
 
38
38
  gc.draw(imgl)
39
- imgl.border!(1,1, "LightCyan2")
40
-
41
- imgl.write("line.gif")
39
+ imgl.border!(1,1, 'LightCyan2')
42
40
 
41
+ imgl.write('line.gif')
@@ -3,21 +3,19 @@ require 'rvg/rvg'
3
3
  Magick::RVG.dpi = 90
4
4
 
5
5
  rvg = Magick::RVG.new(12.cm, 4.cm).viewbox(0, 0, 1200, 400) do |canvas|
6
- canvas.background_fill = 'white'
7
- canvas.desc = "Example line01 - lines expressed in user coordinates"
6
+ canvas.background_fill = 'white'
7
+ canvas.desc = 'Example line01 - lines expressed in user coordinates'
8
8
 
9
- # Show outline of canvas using the 'rect' method
10
- canvas.rect(1195, 395, 1, 1).styles(:fill=>'none', :stroke=>'blue', :stroke_width=>2)
11
-
12
- canvas.g.styles(:stroke=>'green') do |grp|
13
- grp.line(100, 300, 300, 100).styles(:stroke_width=>5)
14
- grp.line(300, 300, 500, 100).styles(:stroke_width=>10)
15
- grp.line(500, 300, 700, 100).styles(:stroke_width=>15)
16
- grp.line(700, 300, 900, 100).styles(:stroke_width=>20)
17
- grp.line(900, 300, 1100, 100).styles(:stroke_width=>25)
18
- end
9
+ # Show outline of canvas using the 'rect' method
10
+ canvas.rect(1195, 395, 1, 1).styles(:fill=>'none', :stroke=>'blue', :stroke_width=>2)
19
11
 
12
+ canvas.g.styles(:stroke=>'green') do |grp|
13
+ grp.line(100, 300, 300, 100).styles(:stroke_width=>5)
14
+ grp.line(300, 300, 500, 100).styles(:stroke_width=>10)
15
+ grp.line(500, 300, 700, 100).styles(:stroke_width=>15)
16
+ grp.line(700, 300, 900, 100).styles(:stroke_width=>20)
17
+ grp.line(900, 300, 1100, 100).styles(:stroke_width=>25)
18
+ end
20
19
  end
21
20
 
22
21
  rvg.draw.write('line01.gif')
23
-
@@ -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
  # This example demonstrates the mask attribute. The mask image must
6
6
  # be the same size as the image being masked. Since this mask image does
@@ -12,14 +12,14 @@ require 'RMagick'
12
12
  # In this example the mask is simply the words "Flower Hat" in black text
13
13
  # positioned near the bottom of the white clip mask image.
14
14
 
15
- img = Magick::Image.read("images/Flower_Hat.jpg").first
15
+ img = Magick::Image.read('images/Flower_Hat.jpg').first
16
16
  q = Magick::Image.new(img.columns, img.rows)
17
17
 
18
18
  gc = Magick::Draw.new
19
- gc.annotate(q, 0, 0, 0, 0, "Flower Hat") do
20
- gc.gravity = Magick::SouthGravity
21
- gc.pointsize = 36
22
- gc.font_weight = Magick::BoldWeight
19
+ gc.annotate(q, 0, 0, 0, 0, 'Flower Hat') do
20
+ gc.gravity = Magick::SouthGravity
21
+ gc.pointsize = 36
22
+ gc.font_weight = Magick::BoldWeight
23
23
  end
24
24
 
25
25
  # Set the matte attribute to false, indicating the absence of an alpha channel
@@ -33,4 +33,3 @@ img.mask q
33
33
 
34
34
  img = img.level(0, Magick::QuantumRange, 0.50)
35
35
  img.write('mask.jpg')
36
-
@@ -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.new(200,200)
6
6
  img.compression = Magick::LZWCompression
@@ -37,4 +37,3 @@ img = bg[0].composite(img, Magick::CenterGravity, Magick::OverCompositeOp)
37
37
 
38
38
  img.write('matte_fill_to_border_after.gif')
39
39
  exit
40
-
@@ -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.new(200,200)
6
6
  img.compression = Magick::LZWCompression
@@ -30,4 +30,3 @@ img = bg[0].composite(img, Magick::CenterGravity, Magick::OverCompositeOp)
30
30
 
31
31
  img.write('matte_floodfill_after.gif')
32
32
  exit
33
-
@@ -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.new(200,200)
6
6
  img.compression = Magick::LZWCompression
@@ -37,4 +37,3 @@ img = bg[0].composite(img, Magick::CenterGravity, Magick::OverCompositeOp)
37
37
 
38
38
  img.write('matte_replace_after.gif')
39
39
  exit
40
-
@@ -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#median_filter 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#modulate 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
4
  # Demonstrate the ImageListImage#quantize method by converting
5
5
  # a color image into a monochrome image.
6
6
 
7
7
  # Read the large color cheetah image and scale it to a third
8
8
  # of its size.
9
- cheetah = Magick::Image.read("images/Cheetah.jpg").first
9
+ cheetah = Magick::Image.read('images/Cheetah.jpg').first
10
10
  cheetah.scale!(0.33)
11
11
 
12
12
  # Quantize the cheetah image into 256 colors in the GRAY colorspace.
@@ -19,5 +19,5 @@ mono_bottom = mono_cheetah.crop 0, mono_cheetah.rows/2, mono_cheetah.columns, mo
19
19
  # the original color cheetah.
20
20
  before_after = cheetah.composite mono_bottom, 0, cheetah.rows/2, Magick::OverCompositeOp
21
21
 
22
- before_after.write "mono.jpg"
22
+ before_after.write 'mono.jpg'
23
23
  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 morph method
6
6
 
@@ -11,16 +11,15 @@ require 'RMagick'
11
11
  i = Magick::ImageList.new
12
12
  number = '0'
13
13
  4.times do
14
- i.read "images/Button_" + number + ".gif"
15
- number.succ!
16
- end
14
+ i.read 'images/Button_' + number + '.gif'
15
+ number.succ!
16
+ end
17
17
 
18
- puts "This may take a few seconds..."
18
+ puts 'This may take a few seconds...'
19
19
  morph = i.morph 8
20
20
  morph.delay = 12
21
21
  morph.iterations = 10000
22
22
  # Display the resulting sequence as an animation.
23
23
  # morph.animate(12)
24
- morph.write "morph.gif"
24
+ morph.write 'morph.gif'
25
25
  exit
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 mosaic method
5
5
 
@@ -7,11 +7,11 @@ a = Magick::ImageList.new
7
7
 
8
8
  letter = 'A'
9
9
  26.times do
10
- # 'M' is not the same size as the other letters.
11
- if letter != 'M'
12
- a.read("images/Button_"+letter+".gif")
13
- end
14
- letter.succ!
10
+ # 'M' is not the same size as the other letters.
11
+ if letter != 'M'
12
+ a.read('images/Button_'+letter+'.gif')
13
+ end
14
+ letter.succ!
15
15
  end
16
16
 
17
17
  # Make a copy of "a" with all the images quarter-sized
@@ -19,17 +19,17 @@ b = Magick::ImageList.new
19
19
  page = Magick::Rectangle.new(0,0,0,0)
20
20
  a.scene = 0
21
21
  5.times do |i|
22
- 5.times do |j|
23
- b << a.scale(0.25)
24
- page.x = j * b.columns
25
- page.y = i * b.rows
26
- b.page = page
27
- (a.scene += 1) rescue a.scene = 0
28
- end
22
+ 5.times do |j|
23
+ b << a.scale(0.25)
24
+ page.x = j * b.columns
25
+ page.y = i * b.rows
26
+ b.page = page
27
+ (a.scene += 1) rescue a.scene = 0
28
+ end
29
29
  end
30
30
 
31
31
  # Make a 5x5 mosaic
32
32
  mosaic = b.mosaic
33
- mosaic.write("mosaic.gif")
33
+ mosaic.write('mosaic.gif')
34
34
  # mosaic.display
35
35
  exit