rmagick 2.13.2 → 4.2.2

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 (380) hide show
  1. checksums.yaml +7 -0
  2. data/.codeclimate.yml +63 -0
  3. data/.editorconfig +17 -0
  4. data/.github/ISSUE_TEMPLATE.md +17 -0
  5. data/.github/workflows/ci.yml +107 -0
  6. data/.gitignore +25 -0
  7. data/.rspec +2 -0
  8. data/.rubocop.yml +37 -0
  9. data/.rubocop_todo.yml +449 -0
  10. data/.yardopts +5 -0
  11. data/CHANGELOG.md +1277 -0
  12. data/CODE_OF_CONDUCT.md +128 -0
  13. data/CONTRIBUTING.md +81 -0
  14. data/Gemfile +4 -0
  15. data/LICENSE +20 -0
  16. data/README.md +324 -0
  17. data/Rakefile +190 -0
  18. data/before_install_linux.sh +69 -0
  19. data/before_install_osx.sh +57 -0
  20. data/deprecated/RMagick.rb +6 -0
  21. data/ext/RMagick/extconf.rb +334 -333
  22. data/ext/RMagick/rmagick.c +129 -127
  23. data/ext/RMagick/rmagick.h +221 -320
  24. data/ext/RMagick/rmdraw.c +458 -767
  25. data/ext/RMagick/rmenum.c +305 -752
  26. data/ext/RMagick/rmfill.c +231 -199
  27. data/ext/RMagick/rmilist.c +437 -478
  28. data/ext/RMagick/rmimage.c +6130 -5342
  29. data/ext/RMagick/rminfo.c +695 -833
  30. data/ext/RMagick/rmkinfo.c +198 -0
  31. data/ext/RMagick/rmmain.c +752 -506
  32. data/ext/RMagick/rmmontage.c +94 -152
  33. data/ext/RMagick/rmpixel.c +619 -425
  34. data/ext/RMagick/rmstruct.c +206 -309
  35. data/ext/RMagick/rmutil.c +514 -344
  36. data/lib/rmagick/version.rb +5 -0
  37. data/lib/rmagick.rb +1 -0
  38. data/lib/rmagick_internal.rb +1922 -0
  39. data/lib/rvg/clippath.rb +35 -39
  40. data/lib/rvg/container.rb +123 -124
  41. data/lib/rvg/deep_equal.rb +45 -49
  42. data/lib/rvg/describable.rb +41 -47
  43. data/lib/rvg/embellishable.rb +380 -411
  44. data/lib/rvg/misc.rb +691 -711
  45. data/lib/rvg/paint.rb +43 -47
  46. data/lib/rvg/pathdata.rb +119 -125
  47. data/lib/rvg/rvg.rb +214 -213
  48. data/lib/rvg/stretchable.rb +153 -162
  49. data/lib/rvg/stylable.rb +111 -117
  50. data/lib/rvg/text.rb +169 -180
  51. data/lib/rvg/transformable.rb +121 -127
  52. data/lib/rvg/units.rb +58 -61
  53. data/rmagick.gemspec +36 -16
  54. metadata +188 -365
  55. data/ChangeLog +0 -773
  56. data/Doxyfile +0 -1514
  57. data/README-Mac-OSX.txt +0 -1
  58. data/README.html +0 -10
  59. data/build_tarball.rake +0 -215
  60. data/doc/comtasks.html +0 -287
  61. data/doc/constants.html +0 -1581
  62. data/doc/css/doc.css +0 -299
  63. data/doc/css/popup.css +0 -34
  64. data/doc/css/ref.css +0 -67
  65. data/doc/draw.html +0 -3269
  66. data/doc/ex/InitialCoords.rb +0 -23
  67. data/doc/ex/NewCoordSys.rb +0 -32
  68. data/doc/ex/OrigCoordSys.rb +0 -18
  69. data/doc/ex/PreserveAspectRatio.rb +0 -205
  70. data/doc/ex/RotateScale.rb +0 -37
  71. data/doc/ex/Skew.rb +0 -38
  72. data/doc/ex/Use01.rb +0 -16
  73. data/doc/ex/Use02.rb +0 -21
  74. data/doc/ex/Use03.rb +0 -16
  75. data/doc/ex/ViewBox.rb +0 -33
  76. data/doc/ex/adaptive_threshold.rb +0 -10
  77. data/doc/ex/add_noise.rb +0 -17
  78. data/doc/ex/affine.rb +0 -48
  79. data/doc/ex/affine_transform.rb +0 -20
  80. data/doc/ex/arc.rb +0 -49
  81. data/doc/ex/arcpath.rb +0 -33
  82. data/doc/ex/arcs01.rb +0 -28
  83. data/doc/ex/arcs02.rb +0 -61
  84. data/doc/ex/average.rb +0 -15
  85. data/doc/ex/axes.rb +0 -64
  86. data/doc/ex/baseline_shift01.rb +0 -18
  87. data/doc/ex/bilevel_channel.rb +0 -9
  88. data/doc/ex/blur_image.rb +0 -12
  89. data/doc/ex/border.rb +0 -10
  90. data/doc/ex/bounding_box.rb +0 -44
  91. data/doc/ex/cbezier1.rb +0 -42
  92. data/doc/ex/cbezier2.rb +0 -42
  93. data/doc/ex/cbezier3.rb +0 -42
  94. data/doc/ex/cbezier4.rb +0 -43
  95. data/doc/ex/cbezier5.rb +0 -43
  96. data/doc/ex/cbezier6.rb +0 -53
  97. data/doc/ex/channel.rb +0 -26
  98. data/doc/ex/charcoal.rb +0 -12
  99. data/doc/ex/chop.rb +0 -29
  100. data/doc/ex/circle.rb +0 -33
  101. data/doc/ex/circle01.rb +0 -17
  102. data/doc/ex/clip_path.rb +0 -60
  103. data/doc/ex/coalesce.rb +0 -60
  104. data/doc/ex/color_fill_to_border.rb +0 -29
  105. data/doc/ex/color_floodfill.rb +0 -28
  106. data/doc/ex/color_histogram.rb +0 -48
  107. data/doc/ex/color_reset.rb +0 -11
  108. data/doc/ex/colorize.rb +0 -16
  109. data/doc/ex/colors.rb +0 -64
  110. data/doc/ex/compose_mask.rb +0 -23
  111. data/doc/ex/composite.rb +0 -135
  112. data/doc/ex/composite_layers.rb +0 -53
  113. data/doc/ex/composite_tiled.rb +0 -23
  114. data/doc/ex/contrast.rb +0 -36
  115. data/doc/ex/crop.rb +0 -31
  116. data/doc/ex/crop_with_gravity.rb +0 -46
  117. data/doc/ex/cubic01.rb +0 -45
  118. data/doc/ex/cubic02.rb +0 -94
  119. data/doc/ex/cycle_colormap.rb +0 -21
  120. data/doc/ex/dissolve.rb +0 -13
  121. data/doc/ex/drawcomp.rb +0 -42
  122. data/doc/ex/drop_shadow.rb +0 -60
  123. data/doc/ex/edge.rb +0 -11
  124. data/doc/ex/ellipse.rb +0 -45
  125. data/doc/ex/ellipse01.rb +0 -22
  126. data/doc/ex/emboss.rb +0 -11
  127. data/doc/ex/enhance.rb +0 -28
  128. data/doc/ex/equalize.rb +0 -11
  129. data/doc/ex/evenodd.rb +0 -43
  130. data/doc/ex/fill_pattern.rb +0 -26
  131. data/doc/ex/flatten_images.rb +0 -36
  132. data/doc/ex/flip.rb +0 -11
  133. data/doc/ex/flop.rb +0 -11
  134. data/doc/ex/font_styles.rb +0 -34
  135. data/doc/ex/fonts.rb +0 -20
  136. data/doc/ex/frame.rb +0 -12
  137. data/doc/ex/gaussian_blur.rb +0 -11
  138. data/doc/ex/get_multiline_type_metrics.rb +0 -42
  139. data/doc/ex/get_pixels.rb +0 -48
  140. data/doc/ex/get_type_metrics.rb +0 -146
  141. data/doc/ex/gradientfill.rb +0 -27
  142. data/doc/ex/grav.rb +0 -46
  143. data/doc/ex/gravity.rb +0 -79
  144. data/doc/ex/group.rb +0 -26
  145. data/doc/ex/hatchfill.rb +0 -27
  146. data/doc/ex/image.rb +0 -46
  147. data/doc/ex/images/Apple.miff +0 -0
  148. data/doc/ex/images/Ballerina.jpg +0 -0
  149. data/doc/ex/images/Ballerina3.jpg +0 -0
  150. data/doc/ex/images/Button_0.gif +0 -0
  151. data/doc/ex/images/Button_1.gif +0 -0
  152. data/doc/ex/images/Button_2.gif +0 -0
  153. data/doc/ex/images/Button_3.gif +0 -0
  154. data/doc/ex/images/Button_4.gif +0 -0
  155. data/doc/ex/images/Button_5.gif +0 -0
  156. data/doc/ex/images/Button_6.gif +0 -0
  157. data/doc/ex/images/Button_7.gif +0 -0
  158. data/doc/ex/images/Button_8.gif +0 -0
  159. data/doc/ex/images/Button_9.gif +0 -0
  160. data/doc/ex/images/Button_A.gif +0 -0
  161. data/doc/ex/images/Button_B.gif +0 -0
  162. data/doc/ex/images/Button_C.gif +0 -0
  163. data/doc/ex/images/Button_D.gif +0 -0
  164. data/doc/ex/images/Button_E.gif +0 -0
  165. data/doc/ex/images/Button_F.gif +0 -0
  166. data/doc/ex/images/Button_G.gif +0 -0
  167. data/doc/ex/images/Button_H.gif +0 -0
  168. data/doc/ex/images/Button_I.gif +0 -0
  169. data/doc/ex/images/Button_J.gif +0 -0
  170. data/doc/ex/images/Button_K.gif +0 -0
  171. data/doc/ex/images/Button_L.gif +0 -0
  172. data/doc/ex/images/Button_M.gif +0 -0
  173. data/doc/ex/images/Button_N.gif +0 -0
  174. data/doc/ex/images/Button_O.gif +0 -0
  175. data/doc/ex/images/Button_P.gif +0 -0
  176. data/doc/ex/images/Button_Q.gif +0 -0
  177. data/doc/ex/images/Button_R.gif +0 -0
  178. data/doc/ex/images/Button_S.gif +0 -0
  179. data/doc/ex/images/Button_T.gif +0 -0
  180. data/doc/ex/images/Button_U.gif +0 -0
  181. data/doc/ex/images/Button_V.gif +0 -0
  182. data/doc/ex/images/Button_W.gif +0 -0
  183. data/doc/ex/images/Button_X.gif +0 -0
  184. data/doc/ex/images/Button_Y.gif +0 -0
  185. data/doc/ex/images/Button_Z.gif +0 -0
  186. data/doc/ex/images/Cheetah.jpg +0 -0
  187. data/doc/ex/images/Coffee.wmf +0 -0
  188. data/doc/ex/images/Flower_Hat.jpg +0 -0
  189. data/doc/ex/images/Gold_Statue.jpg +0 -0
  190. data/doc/ex/images/Hot_Air_Balloons.jpg +0 -0
  191. data/doc/ex/images/Hot_Air_Balloons_H.jpg +0 -0
  192. data/doc/ex/images/Leaf.miff +0 -0
  193. data/doc/ex/images/No.wmf +0 -0
  194. data/doc/ex/images/Polynesia.jpg +0 -0
  195. data/doc/ex/images/Red_Rocks.jpg +0 -0
  196. data/doc/ex/images/Rocks_On_Beach.miff +0 -0
  197. data/doc/ex/images/Shorts.jpg +0 -0
  198. data/doc/ex/images/Snake.wmf +0 -0
  199. data/doc/ex/images/Violin.jpg +0 -0
  200. data/doc/ex/images/Yellow_Rose.miff +0 -0
  201. data/doc/ex/images/big-duck.gif +0 -0
  202. data/doc/ex/images/duck.gif +0 -0
  203. data/doc/ex/images/duck0.gif +0 -0
  204. data/doc/ex/images/duck1.gif +0 -0
  205. data/doc/ex/images/duck10.gif +0 -0
  206. data/doc/ex/images/duck11.gif +0 -0
  207. data/doc/ex/images/duck12.gif +0 -0
  208. data/doc/ex/images/duck13.gif +0 -0
  209. data/doc/ex/images/duck14.gif +0 -0
  210. data/doc/ex/images/duck15.gif +0 -0
  211. data/doc/ex/images/duck2.gif +0 -0
  212. data/doc/ex/images/duck3.gif +0 -0
  213. data/doc/ex/images/duck4.gif +0 -0
  214. data/doc/ex/images/duck5.gif +0 -0
  215. data/doc/ex/images/duck6.gif +0 -0
  216. data/doc/ex/images/duck7.gif +0 -0
  217. data/doc/ex/images/duck8.gif +0 -0
  218. data/doc/ex/images/duck9.gif +0 -0
  219. data/doc/ex/images/graydient230x6.gif +0 -0
  220. data/doc/ex/images/logo400x83.gif +0 -0
  221. data/doc/ex/images/model.miff +0 -0
  222. data/doc/ex/images/notimplemented.gif +0 -0
  223. data/doc/ex/images/smile.miff +0 -0
  224. data/doc/ex/images/spin.gif +0 -0
  225. data/doc/ex/implode.rb +0 -34
  226. data/doc/ex/level.rb +0 -11
  227. data/doc/ex/level_colors.rb +0 -11
  228. data/doc/ex/line.rb +0 -42
  229. data/doc/ex/line01.rb +0 -23
  230. data/doc/ex/mask.rb +0 -36
  231. data/doc/ex/matte_fill_to_border.rb +0 -40
  232. data/doc/ex/matte_floodfill.rb +0 -33
  233. data/doc/ex/matte_replace.rb +0 -40
  234. data/doc/ex/median_filter.rb +0 -28
  235. data/doc/ex/modulate.rb +0 -11
  236. data/doc/ex/mono.rb +0 -23
  237. data/doc/ex/morph.rb +0 -26
  238. data/doc/ex/mosaic.rb +0 -35
  239. data/doc/ex/motion_blur.rb +0 -11
  240. data/doc/ex/negate.rb +0 -11
  241. data/doc/ex/negate_channel.rb +0 -9
  242. data/doc/ex/nested_rvg.rb +0 -21
  243. data/doc/ex/nonzero.rb +0 -43
  244. data/doc/ex/normalize.rb +0 -11
  245. data/doc/ex/oil_paint.rb +0 -11
  246. data/doc/ex/opacity.rb +0 -37
  247. data/doc/ex/ordered_dither.rb +0 -11
  248. data/doc/ex/path.rb +0 -64
  249. data/doc/ex/pattern1.rb +0 -25
  250. data/doc/ex/pattern2.rb +0 -26
  251. data/doc/ex/polaroid.rb +0 -28
  252. data/doc/ex/polygon.rb +0 -24
  253. data/doc/ex/polygon01.rb +0 -23
  254. data/doc/ex/polyline.rb +0 -23
  255. data/doc/ex/polyline01.rb +0 -23
  256. data/doc/ex/posterize.rb +0 -8
  257. data/doc/ex/preview.rb +0 -9
  258. data/doc/ex/qbezierpath.rb +0 -52
  259. data/doc/ex/quad01.rb +0 -36
  260. data/doc/ex/quantize-m.rb +0 -25
  261. data/doc/ex/radial_blur.rb +0 -9
  262. data/doc/ex/raise.rb +0 -8
  263. data/doc/ex/random_threshold_channel.rb +0 -13
  264. data/doc/ex/rect01.rb +0 -15
  265. data/doc/ex/rect02.rb +0 -22
  266. data/doc/ex/rectangle.rb +0 -35
  267. data/doc/ex/reduce_noise.rb +0 -28
  268. data/doc/ex/remap.rb +0 -12
  269. data/doc/ex/remap_images.rb +0 -21
  270. data/doc/ex/resize_to_fill.rb +0 -10
  271. data/doc/ex/resize_to_fit.rb +0 -10
  272. data/doc/ex/roll.rb +0 -9
  273. data/doc/ex/rotate.rb +0 -45
  274. data/doc/ex/rotate_f.rb +0 -14
  275. data/doc/ex/roundrect.rb +0 -34
  276. data/doc/ex/rubyname.rb +0 -30
  277. data/doc/ex/rvg_clippath.rb +0 -14
  278. data/doc/ex/rvg_linecap.rb +0 -43
  279. data/doc/ex/rvg_linejoin.rb +0 -41
  280. data/doc/ex/rvg_opacity.rb +0 -19
  281. data/doc/ex/rvg_pattern.rb +0 -26
  282. data/doc/ex/rvg_stroke_dasharray.rb +0 -12
  283. data/doc/ex/segment.rb +0 -11
  284. data/doc/ex/sepiatone.rb +0 -8
  285. data/doc/ex/shade.rb +0 -11
  286. data/doc/ex/shadow.rb +0 -31
  287. data/doc/ex/shave.rb +0 -15
  288. data/doc/ex/shear.rb +0 -10
  289. data/doc/ex/sketch.rb +0 -18
  290. data/doc/ex/skewx.rb +0 -52
  291. data/doc/ex/skewy.rb +0 -47
  292. data/doc/ex/smile.rb +0 -125
  293. data/doc/ex/solarize.rb +0 -11
  294. data/doc/ex/sparse_color.rb +0 -55
  295. data/doc/ex/splice.rb +0 -9
  296. data/doc/ex/spread.rb +0 -11
  297. data/doc/ex/stegano.rb +0 -55
  298. data/doc/ex/stroke_dasharray.rb +0 -43
  299. data/doc/ex/stroke_fill.rb +0 -11
  300. data/doc/ex/stroke_linecap.rb +0 -44
  301. data/doc/ex/stroke_linejoin.rb +0 -48
  302. data/doc/ex/stroke_width.rb +0 -49
  303. data/doc/ex/swirl.rb +0 -17
  304. data/doc/ex/text.rb +0 -37
  305. data/doc/ex/text01.rb +0 -17
  306. data/doc/ex/text_align.rb +0 -36
  307. data/doc/ex/text_antialias.rb +0 -38
  308. data/doc/ex/text_styles.rb +0 -21
  309. data/doc/ex/text_undercolor.rb +0 -28
  310. data/doc/ex/texture_fill_to_border.rb +0 -34
  311. data/doc/ex/texture_floodfill.rb +0 -32
  312. data/doc/ex/texturefill.rb +0 -25
  313. data/doc/ex/threshold.rb +0 -13
  314. data/doc/ex/to_blob.rb +0 -14
  315. data/doc/ex/translate.rb +0 -39
  316. data/doc/ex/transparent.rb +0 -38
  317. data/doc/ex/transpose.rb +0 -9
  318. data/doc/ex/transverse.rb +0 -9
  319. data/doc/ex/tref01.rb +0 -25
  320. data/doc/ex/triangle01.rb +0 -16
  321. data/doc/ex/trim.rb +0 -24
  322. data/doc/ex/tspan01.rb +0 -18
  323. data/doc/ex/tspan02.rb +0 -19
  324. data/doc/ex/tspan03.rb +0 -21
  325. data/doc/ex/unsharp_mask.rb +0 -28
  326. data/doc/ex/viewex.rb +0 -35
  327. data/doc/ex/vignette.rb +0 -12
  328. data/doc/ex/watermark.rb +0 -28
  329. data/doc/ex/wave.rb +0 -9
  330. data/doc/ex/wet_floor.rb +0 -59
  331. data/doc/ex/writing_mode01.rb +0 -27
  332. data/doc/ex/writing_mode02.rb +0 -26
  333. data/doc/ilist.html +0 -2056
  334. data/doc/image1.html +0 -4680
  335. data/doc/image2.html +0 -3665
  336. data/doc/image3.html +0 -4522
  337. data/doc/imageattrs.html +0 -1638
  338. data/doc/imusage.html +0 -514
  339. data/doc/index.html +0 -416
  340. data/doc/info.html +0 -1499
  341. data/doc/magick.html +0 -565
  342. data/doc/optequiv.html +0 -2435
  343. data/doc/rvg.html +0 -975
  344. data/doc/rvgclip.html +0 -248
  345. data/doc/rvggroup.html +0 -305
  346. data/doc/rvgimage.html +0 -289
  347. data/doc/rvgpattern.html +0 -475
  348. data/doc/rvgshape.html +0 -406
  349. data/doc/rvgstyle.html +0 -270
  350. data/doc/rvgtext.html +0 -465
  351. data/doc/rvgtspan.html +0 -238
  352. data/doc/rvgtut.html +0 -530
  353. data/doc/rvguse.html +0 -145
  354. data/doc/rvgxform.html +0 -294
  355. data/doc/scripts/doc.js +0 -22
  356. data/doc/scripts/stripeTables.js +0 -23
  357. data/doc/struct.html +0 -1339
  358. data/doc/usage.html +0 -1621
  359. data/examples/constitute.rb +0 -7
  360. data/examples/crop_with_gravity.rb +0 -46
  361. data/examples/demo.rb +0 -324
  362. data/examples/describe.rb +0 -44
  363. data/examples/find_similar_region.rb +0 -34
  364. data/examples/histogram.rb +0 -325
  365. data/examples/identify.rb +0 -187
  366. data/examples/image_opacity.rb +0 -29
  367. data/examples/import_export.rb +0 -31
  368. data/examples/pattern_fill.rb +0 -38
  369. data/examples/rotating_text.rb +0 -45
  370. data/examples/spinner.rb +0 -50
  371. data/examples/thumbnail.rb +0 -65
  372. data/examples/vignette.rb +0 -79
  373. data/ext/RMagick/MANIFEST +0 -358
  374. data/lib/RMagick.rb +0 -1962
  375. data/metaconfig +0 -7
  376. data/post-clean.rb +0 -12
  377. data/post-install.rb +0 -50
  378. data/post-setup.rb +0 -254
  379. data/setup.rb +0 -1585
  380. data/uninstall.rb +0 -76
data/doc/ex/pattern2.rb DELETED
@@ -1,26 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
-
3
- require 'RMagick'
4
-
5
- hat = Magick::Image.read("images/Flower_Hat.jpg").first
6
- hat.resize!(0.25)
7
-
8
- # Construct a pattern using the hat image
9
- gc = Magick::Draw.new
10
- gc.pattern('hat', 0, 0, hat.columns, hat.rows) {
11
- gc.composite(0, 0, 0, 0, hat)
12
- }
13
-
14
- # Set the fill to the hat "pattern." Draw an ellipse
15
- gc.fill('hat')
16
- gc.ellipse(150, 75, 140, 70, 0, 360)
17
-
18
- # Create a canvas to draw on
19
- img = Magick::Image.new(300, 150, Magick::HatchFill.new('white','lightcyan2',8))
20
-
21
- # Draw the ellipse using the fill
22
- gc.draw(img)
23
-
24
- img.border!(1,1, "lightcyan2")
25
- img.write('pattern2.gif')
26
- exit
data/doc/ex/polaroid.rb DELETED
@@ -1,28 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
- require 'date'
4
-
5
- # Demonstrate the Image#polaroid method
6
-
7
- img = Magick::Image.read('images/Flower_Hat.jpg').first
8
- img[:Caption] = "\nLosha\n" + Date.today.to_s
9
-
10
- begin
11
- picture = img.polaroid do
12
- self.font_weight = Magick::NormalWeight
13
- self.font_style = Magick::NormalStyle
14
- self.gravity = Magick::CenterGravity
15
- self.border_color = "#f0f0f8"
16
- end
17
-
18
- # Composite it on a white background so the result is opaque.
19
- background = Magick::Image.new(picture.columns, picture.rows)
20
- result = background.composite(picture, Magick::CenterGravity, Magick::OverCompositeOp)
21
-
22
- rescue NotImplementedError
23
- result = Magick::Image.read('images/notimplemented.gif').first
24
- result.resize!(img.columns, img.rows)
25
- end
26
-
27
-
28
- result.write('polaroid.jpg')
data/doc/ex/polygon.rb DELETED
@@ -1,24 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- imgl = Magick::ImageList.new
5
- imgl.new_image(290, 200, Magick::HatchFill.new('white','lightcyan2'))
6
-
7
- gc = Magick::Draw.new
8
- gc.stroke('blue').stroke_width(3)
9
-
10
- # Draw red 5-pointed star
11
- gc.fill('red')
12
- gc.polygon( 75,37.5, 89.5,80.5, 134.5,80.5, 98.5,107.5,
13
- 111.5,150.5, 75,125, 38.5,150.5, 51.5,107.5,
14
- 15.5,80.5, 60.5,80.5)
15
- # Draw green hexagon
16
- gc.fill('lime')
17
- gc.polygon(225,37.5, 279,68.75, 279,131.25,
18
- 225,162.5, 171,131.3, 171,68.75)
19
-
20
- gc.draw(imgl)
21
- imgl.border!(1,1, "lightcyan2")
22
-
23
- imgl.write("polygon.gif")
24
-
data/doc/ex/polygon01.rb DELETED
@@ -1,23 +0,0 @@
1
- require 'rvg/rvg'
2
-
3
- Magick::RVG.dpi = 90
4
-
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 polygon01 - star and hexagon"
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.polygon(350,75,379,161,469,161,397,215,
13
- 423,301,350,250,277,301,303,215,
14
- 231,161,321,161).styles(:fill=>'red', :stroke=>'blue', :stroke_width=>10)
15
-
16
- canvas.polygon(850,75,958,137.5,958,262.5,
17
- 850,325,742,262.6,742,137.5).
18
- styles(:fill=>'lime', :stroke=>'blue', :stroke_width=>10)
19
-
20
- end
21
-
22
- rvg.draw.write('polygon01.gif')
23
-
data/doc/ex/polyline.rb DELETED
@@ -1,23 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- imgl = Magick::ImageList.new
5
- imgl.new_image(300, 100, Magick::HatchFill.new('white','lightcyan2'))
6
-
7
- points = [12,93.75, 37,93.75, 37,81.25, 62,81.25,
8
- 62,93.75, 87,93.75, 87,62, 112,62, 112,93.75,
9
- 137,93.75, 137,43.75, 162,43.75, 162,93.75,
10
- 187,93.75, 187,25, 212,25, 212,93.75, 237,93.75,
11
- 237,6.25, 262,6.25, 262,93.75, 287,93.75]
12
-
13
- gc = Magick::Draw.new
14
- gc.stroke('blue').stroke_width(3)
15
- gc.fill_opacity(0)
16
- gc.polyline(*points)
17
-
18
- gc.draw(imgl)
19
-
20
- imgl.border!(1,1, "lightcyan2")
21
-
22
- imgl.write("polyline.gif")
23
-
data/doc/ex/polyline01.rb DELETED
@@ -1,23 +0,0 @@
1
- require 'rvg/rvg'
2
-
3
- Magick::RVG.dpi = 90
4
-
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 polyline01 - increasingly larger bars"
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.polyline(50,375,
13
- 150,375,150,325,250,325,250,375,
14
- 350,375,350,250,450,250,450,375,
15
- 550,375,550,175,650,175,650,375,
16
- 750,375,750,100,850,100,850,375,
17
- 950,375,950,25,1050,25,1050,375,
18
- 1150,375).styles(:fill=>'none', :stroke=>'blue', :stroke_width=>10)
19
-
20
- end
21
-
22
- rvg.draw.write('polyline01.gif')
23
-
data/doc/ex/posterize.rb DELETED
@@ -1,8 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
-
3
- require 'RMagick'
4
-
5
- img = Magick::Image.read('images/Flower_Hat.jpg').first
6
- result = img.posterize
7
- result.write('posterize.jpg')
8
- exit
data/doc/ex/preview.rb DELETED
@@ -1,9 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
-
3
- require 'RMagick'
4
-
5
- img = Magick::Image.read("images/Flower_Hat.jpg").first
6
- preview = img.preview(Magick::SolarizePreview)
7
- preview.minify.write('preview.jpg')
8
- exit
9
-
@@ -1,52 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- imgl = Magick::ImageList.new
5
- imgl.new_image(500, 300, Magick::HatchFill.new('white','lightcyan2'))
6
-
7
- gc = Magick::Draw.new
8
-
9
- # Draw path with quadratic bezier commands
10
- gc.fill_opacity 0
11
- gc.stroke 'red'
12
- gc.stroke_width 3
13
- gc.path "M20,150 Q120,25 220,150 T420,150"
14
-
15
- # Annotate
16
- # Show end points
17
- gc.fill_opacity 1
18
- gc.stroke 'grey50'
19
- gc.stroke_width 1
20
- gc.circle 20,150, 23, 153
21
- gc.circle 220,150, 223, 153
22
- gc.circle 420,150, 423, 153
23
-
24
- # Show control points
25
- gc.fill 'black'
26
- gc.stroke 'transparent'
27
- gc.circle 120,25, 123, 28
28
- gc.circle 320,275, 323, 278
29
-
30
- # Show connector lines
31
- gc.line 20,150, 120,25
32
- gc.line 120,25, 320,275
33
- gc.line 320,275, 420,150
34
-
35
- # Add labels
36
- gc.font_weight Magick::NormalWeight
37
- gc.font_style Magick::NormalStyle
38
-
39
- # Add end point labels
40
- gc.text 30,155, "'20,150'"
41
- gc.text 230,155, "'220,150'"
42
- gc.text 430,155, "'420,150'"
43
-
44
- # Add control point labels
45
- gc.text 130,30, "'120,25'"
46
- gc.text 330,280, "'320,275'"
47
-
48
- gc.draw imgl
49
-
50
- imgl.border!(1,1, "lightcyan2")
51
- #imgl.display
52
- imgl.write "qbezierpath.gif"
data/doc/ex/quad01.rb DELETED
@@ -1,36 +0,0 @@
1
- require 'rvg/rvg'
2
-
3
- Magick::RVG.dpi = 90
4
-
5
- rvg = Magick::RVG.new(12.cm, 6.cm).viewbox(0, 0, 1200, 600) do |canvas|
6
- canvas.title = "Example quad01 - quadratic Bezier commands in path data"
7
- canvas.desc = <<-END_DESC
8
- Picture showing a "Q" a "T" command, along with annotations showing the
9
- control points and end points
10
- END_DESC
11
- canvas.background_fill = 'white'
12
- canvas.rect(1195, 592, 1, 1).styles(:fill=>'none', :stroke=>'blue', :stroke_width=>1)
13
-
14
- canvas.path("M200,300 Q400,50 600,300 T1000,300").
15
- styles(:fill=>'none', :stroke=>'red', :stroke_width=>5)
16
-
17
- # End points
18
- canvas.g.styles(:fill=>'black') do |grp|
19
- grp.circle(10, 200, 300)
20
- grp.circle(10, 600, 300)
21
- grp.circle(10, 1000, 300)
22
- end
23
-
24
- # Control points and lines from end points to control points
25
- canvas.g.styles(:fill=>'#888') do |grp|
26
- grp.circle(10, 400, 50)
27
- grp.circle(10, 800, 550)
28
- end
29
-
30
- canvas.path("M200,300 L400,50 L600,300 L800,550 L1000,300").
31
- styles(:fill=>'none', :stroke=>'#888', :stroke_width=>2)
32
-
33
- end
34
-
35
- rvg.draw.write('quad01.gif')
36
-
data/doc/ex/quantize-m.rb DELETED
@@ -1,25 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
-
3
- # Demonstrate the ImageList#quantize method
4
-
5
- require 'RMagick'
6
-
7
- snapshots = Magick::ImageList.new "images/Ballerina.jpg","images/Gold_Statue.jpg","images/Shorts.jpg"
8
-
9
- # Quantize all 3 images to a single set of 16 colors in the RGB colorspace
10
- $stdout.sync=true
11
- printf "Quantizing... Please be patient, this may take a couple of seconds... "
12
- quant = snapshots.quantize 16
13
- puts "Done."
14
-
15
- # Now we create the "before" and "after" images.
16
- # Arrange the original images side-by-side into a
17
- # single image.
18
- old = snapshots.append false
19
- old.write('quantize-m_before.jpg')
20
-
21
- # Repeat for the quantized images.
22
- new = quant.append false
23
- new.write('quantize-m_after.jpg')
24
-
25
- exit
@@ -1,9 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- # Demonstrate the Image#radial_blur method
5
-
6
- img = Magick::Image.read('images/Flower_Hat.jpg').first
7
- result = img.radial_blur(10.0)
8
- result.write('radial_blur.jpg')
9
- exit
data/doc/ex/raise.rb DELETED
@@ -1,8 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- # Demonstrate the Image#raise method.
5
- img = Magick::Image.read('images/Flower_Hat.jpg').first
6
- img = img.raise
7
- img.write('raise.jpg')
8
- exit
@@ -1,13 +0,0 @@
1
- #!/usr/local/bin/ruby -w
2
-
3
- # Demonstrate the random_channel_threshold method
4
-
5
- require 'RMagick'
6
-
7
- img = Magick::Image.read('images/Flower_Hat.jpg').first
8
-
9
- geom = Magick::Geometry.new(Magick::QuantumRange/2)
10
- img2 = img.random_threshold_channel(geom, Magick::RedChannel)
11
-
12
- img2.write('random_threshold_channel.jpg')
13
- exit
data/doc/ex/rect01.rb DELETED
@@ -1,15 +0,0 @@
1
- require 'rvg/rvg'
2
-
3
- Magick::RVG.dpi = 90
4
- rvg = Magick::RVG.new(12.cm, 4.cm) do |canvas|
5
- canvas.viewbox(0, 0, 1200, 400)
6
- canvas.background_fill = 'white'
7
- canvas.desc = "Example rect01 - rectangle with sharp corners"
8
- # Show outline of canvas using 'rect' element
9
- canvas.rect(1195, 395, 1, 1).styles(:fill=>'none', :stroke=>'blue', :stroke_width=>2)
10
-
11
- canvas.rect(400, 200, 400, 100).styles(:fill=>'yellow', :stroke=>'navy', :stroke_width=>10)
12
- end
13
-
14
- rvg.draw.write('rect01.gif')
15
-
data/doc/ex/rect02.rb DELETED
@@ -1,22 +0,0 @@
1
- require 'rvg/rvg'
2
-
3
- Magick::RVG.dpi = 90
4
-
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 rect02 - rounded rectangles"
9
-
10
- # Show outline of canvas using 'rect' method
11
- canvas.rect(1195, 395, 1, 1).styles(:fill=>'none', :stroke=>'blue', :stroke_width=>2)
12
-
13
- canvas.rect(400, 200, 100, 100).round(50).styles(:fill=>'green')
14
-
15
- canvas.g.translate(700, 210).rotate(-30) do |grp|
16
- grp.rect(400, 200, 0, 0).round(50).styles(:fill=>'none', :stroke=>'purple', :stroke_width=>30)
17
- end
18
-
19
- end
20
-
21
- rvg.draw.write('rect02.gif')
22
-
data/doc/ex/rectangle.rb DELETED
@@ -1,35 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- imgl = Magick::ImageList.new
5
- imgl.new_image(300, 200, Magick::HatchFill.new('white','lightcyan2'))
6
-
7
- gc = Magick::Draw.new
8
-
9
- gc.fill_opacity(0)
10
- gc.stroke('red')
11
- gc.stroke_width(3)
12
-
13
- # Draw rectangle
14
- gc.rectangle(20,20, 280, 180)
15
-
16
- # Outline corners
17
- gc.stroke_width(1)
18
- gc.stroke('gray50')
19
- gc.circle(20,20, 23,23)
20
- gc.circle(280, 180, 283, 183)
21
-
22
- # Annotate
23
- gc.font_weight(Magick::NormalWeight)
24
- gc.font_style(Magick::NormalStyle)
25
- gc.fill('black')
26
- gc.stroke('transparent')
27
- gc.text(30,35, "'20,20'")
28
- gc.text(230,175, "'280,180'")
29
-
30
- gc.draw(imgl)
31
- imgl.border!(1,1, 'lightcyan2')
32
-
33
- imgl.write("rectangle.gif")
34
- exit
35
-
@@ -1,28 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- # Demonstrate the Image#reduce_noise method
5
-
6
- img = Magick::Image.read('images/Flower_Hat.jpg').first
7
- img = img.add_noise(Magick::UniformNoise)
8
-
9
- eimg = img.reduce_noise(0)
10
-
11
- # Zoom in so we can see the change
12
- img.resize!(3)
13
- eimg.resize!(3)
14
-
15
- # Make a before-and-after composite
16
- eimg.crop!(eimg.columns/2, 0, eimg.columns/2, eimg.rows)
17
- img = img.composite(eimg, Magick::EastGravity, Magick::OverCompositeOp)
18
-
19
- # Draw a black line between the before and after parts.
20
- line = Magick::Draw.new
21
- line.line(img.columns/2, 0, img.columns/2, img.rows)
22
- line.draw(img)
23
-
24
- # Crop everything but the face.
25
- img.crop!(Magick::CenterGravity, 250, 200)
26
-
27
- img.write('reduce_noise.jpg')
28
- exit
data/doc/ex/remap.rb DELETED
@@ -1,12 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- img = Magick::Image.read("images/Flower_Hat.jpg").first
5
- rose = Magick::Image.read("images/Yellow_Rose.miff").first
6
- begin
7
- img.affinity(rose)
8
- rescue NotImplementedError
9
- img = Magick::Image.read("images/notimplemented.gif").first
10
- end
11
- img.write("remap.jpg")
12
-
@@ -1,21 +0,0 @@
1
- require 'RMagick'
2
-
3
- images = Magick::ImageList.new("images/Apple.miff", "images/Rocks_On_Beach.miff", "images/Leaf.miff")
4
- rose = Magick::Image.read("images/Yellow_Rose.miff").first
5
- rose[:Label] = "Remap Image"
6
-
7
- result = Magick::ImageList.new
8
- result += images
9
- result << rose
10
-
11
- begin
12
- result += images.copy.affinity(rose)
13
- montage = result.montage { self.tile = "4x2" }
14
- montage.alpha Magick::DeactivateAlphaChannel
15
- rescue NotImplementedError
16
- montage = Magick::Image.read("images/notimplemented.gif").first
17
- end
18
-
19
- montage.write("remap_images.jpg")
20
-
21
-
@@ -1,10 +0,0 @@
1
- #!/usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- # Demonstrate the crop_resize method
5
-
6
- img = Magick::Image.read('images/Flower_Hat.jpg')[0]
7
- thumbnail = img.resize_to_fill(76, 76)
8
- thumbnail.write("resize_to_fill.jpg")
9
-
10
-
@@ -1,10 +0,0 @@
1
- #!/usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- # Demonstrate the crop_resize method
5
-
6
- img = Magick::Image.read('images/Flower_Hat.jpg')[0]
7
- thumbnail = img.resize_to_fit(76, 76)
8
- thumbnail.write("resize_to_fit.jpg")
9
-
10
-
data/doc/ex/roll.rb DELETED
@@ -1,9 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- img = Magick::Image.read('images/Flower_Hat.jpg').first
5
-
6
- img = img.roll(img.columns/4, img.rows/4)
7
-
8
- img.write('roll.jpg')
9
- exit
data/doc/ex/rotate.rb DELETED
@@ -1,45 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- imgl = Magick::ImageList.new
5
- imgl.new_image(200, 200, Magick::HatchFill.new('white','lightcyan2'))
6
-
7
- gc = Magick::Draw.new
8
-
9
- # Move the origin to the center.
10
- gc.translate(100, 100)
11
- max_x = imgl.columns/2
12
- max_y = imgl.rows/2
13
-
14
- # Rotate 45 degrees
15
- gc.rotate(45)
16
-
17
- gc.stroke('red')
18
- gc.stroke_width(3)
19
-
20
- # Draw down-pointing arrow
21
- gc.line(0, -max_y, 0, max_y)
22
- gc.line(0, max_y, 10, max_y-10)
23
- gc.line(0, max_y, -10, max_y-10)
24
-
25
- # Draw right-pointing arrow
26
- gc.line(-max_x, 0, max_x, 0)
27
- gc.line( max_x, 0, max_x-10, -10)
28
- gc.line( max_x, 0, max_x-10, 10)
29
-
30
- # Add labels
31
- gc.font_weight(Magick::NormalWeight)
32
- gc.font_style(Magick::NormalStyle)
33
- gc.fill('black')
34
- gc.stroke('transparent')
35
-
36
- gc.text(8, 15, "'0,0'")
37
- gc.text(110, 16, "x")
38
- gc.text(12, 115, "y")
39
-
40
- gc.draw(imgl)
41
-
42
- imgl.border!(1,1, "lightcyan2")
43
-
44
- imgl.write("rotate.gif")
45
-
data/doc/ex/rotate_f.rb DELETED
@@ -1,14 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- # Demonstrate the Image#rotate method
5
-
6
- img = Magick::Image.read('images/Flower_Hat.jpg').first
7
-
8
- img.rotate!(45)
9
-
10
- # Make the corners transparent
11
- img = img.matte_replace(0,0)
12
-
13
- img.write('rotate_f.jpg')
14
- exit
data/doc/ex/roundrect.rb DELETED
@@ -1,34 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- imgl = Magick::ImageList.new
5
- imgl.new_image(300, 200, Magick::HatchFill.new('white','LightCyan2'))
6
-
7
- gc = Magick::Draw.new
8
-
9
- gc.fill_opacity(0)
10
- gc.stroke('red')
11
- gc.stroke_width(3)
12
-
13
- # Draw rounded rectangle
14
- gc.roundrectangle(20,20, 280,180, 8, 8)
15
-
16
- gc.stroke('gray50')
17
- gc.stroke_width(1)
18
-
19
- gc.circle(20,20, 23,23)
20
- gc.circle(280,180, 283,183)
21
-
22
- # Annotate
23
- gc.font_weight(Magick::NormalWeight)
24
- gc.font_style(Magick::NormalStyle)
25
- gc.fill('black')
26
- gc.stroke('transparent')
27
- gc.text(30,35, "'20,20'")
28
- gc.text(230, 175, "'280,180'")
29
-
30
- gc.draw(imgl)
31
- imgl.border!(1,1, "lightcyan2")
32
-
33
- imgl.write("roundrect.gif")
34
-
data/doc/ex/rubyname.rb DELETED
@@ -1,30 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- # Demonstrate the annotate method
5
-
6
- Text = 'RMagick'
7
-
8
- granite = Magick::ImageList.new('granite:')
9
- canvas = Magick::ImageList.new
10
- canvas.new_image(300, 100, Magick::TextureFill.new(granite))
11
-
12
- text = Magick::Draw.new
13
- text.pointsize = 52
14
- text.gravity = Magick::CenterGravity
15
-
16
- text.annotate(canvas, 0,0,2,2, Text) {
17
- self.fill = 'gray83'
18
- }
19
-
20
- text.annotate(canvas, 0,0,-1.5,-1.5, Text) {
21
- self.fill = 'gray40'
22
- }
23
-
24
- text.annotate(canvas, 0,0,0,0, Text) {
25
- self.fill = 'darkred'
26
- }
27
-
28
- #canvas.display
29
- canvas.write('rubyname.gif')
30
- exit
@@ -1,14 +0,0 @@
1
- require 'rvg/rvg'
2
-
3
- hat = Magick::Image.read('images/Flower_Hat.jpg').first
4
- rvg = Magick::RVG.new(hat.columns, hat.rows) do |canvas|
5
- keyhole = Magick::RVG::ClipPath.new do |path|
6
- path.circle(60, canvas.width/2, 80)
7
- path.polygon(canvas.width/2-10, 60, 40, 230, 160, 230, canvas.width/2+10, 60)
8
- end
9
- canvas.image(hat, nil, nil, 20, 20).styles(:clip_path=>keyhole)
10
-
11
- end
12
-
13
- rvg.draw.write('rvg_clippath.gif')
14
-