rmagick 3.2.0 → 4.3.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 (420) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +63 -0
  3. data/.devcontainer/Dockerfile +14 -0
  4. data/.devcontainer/ImageMagick6/devcontainer.json +11 -0
  5. data/.devcontainer/devcontainer.json +11 -0
  6. data/.devcontainer/setup-repo.sh +10 -0
  7. data/.devcontainer/setup-user.sh +45 -0
  8. data/.editorconfig +3 -0
  9. data/.github/ISSUE_TEMPLATE.md +17 -0
  10. data/.github/workflows/ci.yml +79 -0
  11. data/.gitignore +3 -1
  12. data/.rspec +1 -0
  13. data/.rubocop.yml +24 -0
  14. data/.rubocop_todo.yml +151 -297
  15. data/.yardopts +5 -0
  16. data/CHANGELOG.md +233 -0
  17. data/CODE_OF_CONDUCT.md +122 -7
  18. data/CONTRIBUTING.md +14 -10
  19. data/README.md +326 -0
  20. data/Rakefile +16 -22
  21. data/before_install_linux.sh +22 -28
  22. data/before_install_osx.sh +57 -2
  23. data/ext/RMagick/extconf.rb +149 -105
  24. data/ext/RMagick/rmagick.c +77 -104
  25. data/ext/RMagick/rmagick.h +121 -103
  26. data/ext/RMagick/rmdraw.c +364 -436
  27. data/ext/RMagick/rmenum.c +106 -114
  28. data/ext/RMagick/rmfill.c +149 -70
  29. data/ext/RMagick/rmilist.c +225 -367
  30. data/ext/RMagick/rmimage.c +4751 -4405
  31. data/ext/RMagick/rminfo.c +574 -787
  32. data/ext/RMagick/rmkinfo.c +51 -121
  33. data/ext/RMagick/rmmain.c +454 -286
  34. data/ext/RMagick/rmmontage.c +64 -130
  35. data/ext/RMagick/rmpixel.c +488 -437
  36. data/ext/RMagick/rmstruct.c +83 -96
  37. data/ext/RMagick/rmutil.c +302 -214
  38. data/lib/rmagick/version.rb +1 -1
  39. data/lib/rmagick_internal.rb +138 -93
  40. data/lib/rvg/clippath.rb +2 -1
  41. data/lib/rvg/container.rb +10 -5
  42. data/lib/rvg/describable.rb +1 -1
  43. data/lib/rvg/embellishable.rb +5 -4
  44. data/lib/rvg/misc.rb +15 -12
  45. data/lib/rvg/paint.rb +2 -1
  46. data/lib/rvg/pathdata.rb +12 -11
  47. data/lib/rvg/rvg.rb +12 -8
  48. data/lib/rvg/stylable.rb +9 -7
  49. data/lib/rvg/text.rb +11 -6
  50. data/lib/rvg/transformable.rb +3 -2
  51. data/lib/rvg/units.rb +1 -1
  52. data/rmagick.gemspec +10 -11
  53. metadata +52 -423
  54. data/.appveyor.yml +0 -45
  55. data/.circleci/config.yml +0 -56
  56. data/.ruby-version +0 -1
  57. data/.simplecov +0 -27
  58. data/.travis.yml +0 -62
  59. data/Doxyfile +0 -1514
  60. data/README.textile +0 -259
  61. data/benchmarks/memory/README.md +0 -50
  62. data/benchmarks/memory/image_new.rb +0 -8
  63. data/benchmarks/memory/rmagick.gnuplot +0 -16
  64. data/doc/.cvsignore +0 -1
  65. data/doc/comtasks.html +0 -287
  66. data/doc/constants.html +0 -1581
  67. data/doc/css/doc.css +0 -299
  68. data/doc/css/popup.css +0 -34
  69. data/doc/css/ref.css +0 -67
  70. data/doc/draw.html +0 -3272
  71. data/doc/ex/InitialCoords.rb +0 -22
  72. data/doc/ex/NewCoordSys.rb +0 -30
  73. data/doc/ex/OrigCoordSys.rb +0 -16
  74. data/doc/ex/PreserveAspectRatio.rb +0 -204
  75. data/doc/ex/RotateScale.rb +0 -36
  76. data/doc/ex/Skew.rb +0 -38
  77. data/doc/ex/Use01.rb +0 -15
  78. data/doc/ex/Use02.rb +0 -20
  79. data/doc/ex/Use03.rb +0 -16
  80. data/doc/ex/ViewBox.rb +0 -31
  81. data/doc/ex/adaptive_threshold.rb +0 -9
  82. data/doc/ex/add_noise.rb +0 -16
  83. data/doc/ex/affine.rb +0 -48
  84. data/doc/ex/affine_transform.rb +0 -20
  85. data/doc/ex/arc.rb +0 -49
  86. data/doc/ex/arcpath.rb +0 -32
  87. data/doc/ex/arcs01.rb +0 -28
  88. data/doc/ex/arcs02.rb +0 -59
  89. data/doc/ex/average.rb +0 -15
  90. data/doc/ex/axes.rb +0 -64
  91. data/doc/ex/baseline_shift01.rb +0 -17
  92. data/doc/ex/bilevel_channel.rb +0 -8
  93. data/doc/ex/blur_image.rb +0 -12
  94. data/doc/ex/border.rb +0 -10
  95. data/doc/ex/bounding_box.rb +0 -42
  96. data/doc/ex/cbezier1.rb +0 -41
  97. data/doc/ex/cbezier2.rb +0 -41
  98. data/doc/ex/cbezier3.rb +0 -41
  99. data/doc/ex/cbezier4.rb +0 -42
  100. data/doc/ex/cbezier5.rb +0 -42
  101. data/doc/ex/cbezier6.rb +0 -53
  102. data/doc/ex/channel.rb +0 -25
  103. data/doc/ex/charcoal.rb +0 -12
  104. data/doc/ex/chop.rb +0 -29
  105. data/doc/ex/circle.rb +0 -33
  106. data/doc/ex/circle01.rb +0 -16
  107. data/doc/ex/clip_path.rb +0 -60
  108. data/doc/ex/coalesce.rb +0 -57
  109. data/doc/ex/color_fill_to_border.rb +0 -29
  110. data/doc/ex/color_floodfill.rb +0 -28
  111. data/doc/ex/color_histogram.rb +0 -47
  112. data/doc/ex/color_reset.rb +0 -11
  113. data/doc/ex/colorize.rb +0 -16
  114. data/doc/ex/colors.rb +0 -64
  115. data/doc/ex/compose_mask.rb +0 -22
  116. data/doc/ex/composite.rb +0 -133
  117. data/doc/ex/composite_layers.rb +0 -52
  118. data/doc/ex/composite_tiled.rb +0 -21
  119. data/doc/ex/contrast.rb +0 -36
  120. data/doc/ex/crop.rb +0 -31
  121. data/doc/ex/crop_with_gravity.rb +0 -42
  122. data/doc/ex/cubic01.rb +0 -43
  123. data/doc/ex/cubic02.rb +0 -91
  124. data/doc/ex/cycle_colormap.rb +0 -21
  125. data/doc/ex/dissolve.rb +0 -12
  126. data/doc/ex/drawcomp.rb +0 -41
  127. data/doc/ex/drop_shadow.rb +0 -60
  128. data/doc/ex/edge.rb +0 -11
  129. data/doc/ex/ellipse.rb +0 -45
  130. data/doc/ex/ellipse01.rb +0 -21
  131. data/doc/ex/emboss.rb +0 -11
  132. data/doc/ex/enhance.rb +0 -28
  133. data/doc/ex/equalize.rb +0 -11
  134. data/doc/ex/evenodd.rb +0 -42
  135. data/doc/ex/fill_pattern.rb +0 -23
  136. data/doc/ex/flatten_images.rb +0 -36
  137. data/doc/ex/flip.rb +0 -11
  138. data/doc/ex/flop.rb +0 -11
  139. data/doc/ex/font_styles.rb +0 -32
  140. data/doc/ex/fonts.rb +0 -16
  141. data/doc/ex/frame.rb +0 -12
  142. data/doc/ex/gaussian_blur.rb +0 -11
  143. data/doc/ex/get_multiline_type_metrics.rb +0 -41
  144. data/doc/ex/get_pixels.rb +0 -45
  145. data/doc/ex/get_type_metrics.rb +0 -142
  146. data/doc/ex/gradientfill.rb +0 -27
  147. data/doc/ex/grav.rb +0 -45
  148. data/doc/ex/gravity.rb +0 -78
  149. data/doc/ex/group.rb +0 -26
  150. data/doc/ex/hatchfill.rb +0 -27
  151. data/doc/ex/image.rb +0 -44
  152. data/doc/ex/images/Apple.miff +0 -0
  153. data/doc/ex/images/Ballerina.jpg +0 -0
  154. data/doc/ex/images/Ballerina3.jpg +0 -0
  155. data/doc/ex/images/Button_0.gif +0 -0
  156. data/doc/ex/images/Button_1.gif +0 -0
  157. data/doc/ex/images/Button_2.gif +0 -0
  158. data/doc/ex/images/Button_3.gif +0 -0
  159. data/doc/ex/images/Button_4.gif +0 -0
  160. data/doc/ex/images/Button_5.gif +0 -0
  161. data/doc/ex/images/Button_6.gif +0 -0
  162. data/doc/ex/images/Button_7.gif +0 -0
  163. data/doc/ex/images/Button_8.gif +0 -0
  164. data/doc/ex/images/Button_9.gif +0 -0
  165. data/doc/ex/images/Button_A.gif +0 -0
  166. data/doc/ex/images/Button_B.gif +0 -0
  167. data/doc/ex/images/Button_C.gif +0 -0
  168. data/doc/ex/images/Button_D.gif +0 -0
  169. data/doc/ex/images/Button_E.gif +0 -0
  170. data/doc/ex/images/Button_F.gif +0 -0
  171. data/doc/ex/images/Button_G.gif +0 -0
  172. data/doc/ex/images/Button_H.gif +0 -0
  173. data/doc/ex/images/Button_I.gif +0 -0
  174. data/doc/ex/images/Button_J.gif +0 -0
  175. data/doc/ex/images/Button_K.gif +0 -0
  176. data/doc/ex/images/Button_L.gif +0 -0
  177. data/doc/ex/images/Button_M.gif +0 -0
  178. data/doc/ex/images/Button_N.gif +0 -0
  179. data/doc/ex/images/Button_O.gif +0 -0
  180. data/doc/ex/images/Button_P.gif +0 -0
  181. data/doc/ex/images/Button_Q.gif +0 -0
  182. data/doc/ex/images/Button_R.gif +0 -0
  183. data/doc/ex/images/Button_S.gif +0 -0
  184. data/doc/ex/images/Button_T.gif +0 -0
  185. data/doc/ex/images/Button_U.gif +0 -0
  186. data/doc/ex/images/Button_V.gif +0 -0
  187. data/doc/ex/images/Button_W.gif +0 -0
  188. data/doc/ex/images/Button_X.gif +0 -0
  189. data/doc/ex/images/Button_Y.gif +0 -0
  190. data/doc/ex/images/Button_Z.gif +0 -0
  191. data/doc/ex/images/Cheetah.jpg +0 -0
  192. data/doc/ex/images/Coffee.png +0 -0
  193. data/doc/ex/images/Flower_Hat.jpg +0 -0
  194. data/doc/ex/images/Gold_Statue.jpg +0 -0
  195. data/doc/ex/images/Hot_Air_Balloons.jpg +0 -0
  196. data/doc/ex/images/Hot_Air_Balloons_H.jpg +0 -0
  197. data/doc/ex/images/Leaf.miff +0 -0
  198. data/doc/ex/images/No.png +0 -0
  199. data/doc/ex/images/Polynesia.jpg +0 -0
  200. data/doc/ex/images/Red_Rocks.jpg +0 -0
  201. data/doc/ex/images/Rocks_On_Beach.miff +0 -0
  202. data/doc/ex/images/Shorts.jpg +0 -0
  203. data/doc/ex/images/Snake.png +0 -0
  204. data/doc/ex/images/Violin.jpg +0 -0
  205. data/doc/ex/images/Yellow_Rose.miff +0 -0
  206. data/doc/ex/images/big-duck.gif +0 -0
  207. data/doc/ex/images/duck.gif +0 -0
  208. data/doc/ex/images/duck0.gif +0 -0
  209. data/doc/ex/images/duck1.gif +0 -0
  210. data/doc/ex/images/duck10.gif +0 -0
  211. data/doc/ex/images/duck11.gif +0 -0
  212. data/doc/ex/images/duck12.gif +0 -0
  213. data/doc/ex/images/duck13.gif +0 -0
  214. data/doc/ex/images/duck14.gif +0 -0
  215. data/doc/ex/images/duck15.gif +0 -0
  216. data/doc/ex/images/duck2.gif +0 -0
  217. data/doc/ex/images/duck3.gif +0 -0
  218. data/doc/ex/images/duck4.gif +0 -0
  219. data/doc/ex/images/duck5.gif +0 -0
  220. data/doc/ex/images/duck6.gif +0 -0
  221. data/doc/ex/images/duck7.gif +0 -0
  222. data/doc/ex/images/duck8.gif +0 -0
  223. data/doc/ex/images/duck9.gif +0 -0
  224. data/doc/ex/images/graydient230x6.gif +0 -0
  225. data/doc/ex/images/image_with_profile.jpg +0 -0
  226. data/doc/ex/images/logo400x83.gif +0 -0
  227. data/doc/ex/images/model.miff +0 -0
  228. data/doc/ex/images/notimplemented.gif +0 -0
  229. data/doc/ex/images/smile.miff +0 -0
  230. data/doc/ex/images/spin.gif +0 -0
  231. data/doc/ex/implode.rb +0 -34
  232. data/doc/ex/level.rb +0 -11
  233. data/doc/ex/level_colors.rb +0 -11
  234. data/doc/ex/line.rb +0 -41
  235. data/doc/ex/line01.rb +0 -21
  236. data/doc/ex/mask.rb +0 -35
  237. data/doc/ex/matte_fill_to_border.rb +0 -39
  238. data/doc/ex/matte_floodfill.rb +0 -32
  239. data/doc/ex/matte_replace.rb +0 -39
  240. data/doc/ex/median_filter.rb +0 -28
  241. data/doc/ex/modulate.rb +0 -11
  242. data/doc/ex/mono.rb +0 -23
  243. data/doc/ex/morph.rb +0 -25
  244. data/doc/ex/mosaic.rb +0 -37
  245. data/doc/ex/motion_blur.rb +0 -11
  246. data/doc/ex/negate.rb +0 -11
  247. data/doc/ex/negate_channel.rb +0 -9
  248. data/doc/ex/nested_rvg.rb +0 -21
  249. data/doc/ex/nonzero.rb +0 -42
  250. data/doc/ex/normalize.rb +0 -11
  251. data/doc/ex/oil_paint.rb +0 -11
  252. data/doc/ex/opacity.rb +0 -37
  253. data/doc/ex/ordered_dither.rb +0 -11
  254. data/doc/ex/path.rb +0 -63
  255. data/doc/ex/pattern1.rb +0 -25
  256. data/doc/ex/pattern2.rb +0 -26
  257. data/doc/ex/polaroid.rb +0 -26
  258. data/doc/ex/polygon.rb +0 -23
  259. data/doc/ex/polygon01.rb +0 -21
  260. data/doc/ex/polyline.rb +0 -22
  261. data/doc/ex/polyline01.rb +0 -21
  262. data/doc/ex/posterize.rb +0 -8
  263. data/doc/ex/preview.rb +0 -8
  264. data/doc/ex/qbezierpath.rb +0 -52
  265. data/doc/ex/quad01.rb +0 -34
  266. data/doc/ex/quantize-m.rb +0 -25
  267. data/doc/ex/radial_blur.rb +0 -9
  268. data/doc/ex/raise.rb +0 -8
  269. data/doc/ex/random_threshold_channel.rb +0 -13
  270. data/doc/ex/rect01.rb +0 -14
  271. data/doc/ex/rect02.rb +0 -20
  272. data/doc/ex/rectangle.rb +0 -34
  273. data/doc/ex/reduce_noise.rb +0 -28
  274. data/doc/ex/remap.rb +0 -11
  275. data/doc/ex/remap_images.rb +0 -19
  276. data/doc/ex/resize_to_fill.rb +0 -8
  277. data/doc/ex/resize_to_fit.rb +0 -8
  278. data/doc/ex/roll.rb +0 -9
  279. data/doc/ex/rotate.rb +0 -44
  280. data/doc/ex/rotate_f.rb +0 -14
  281. data/doc/ex/roundrect.rb +0 -33
  282. data/doc/ex/rubyname.rb +0 -30
  283. data/doc/ex/rvg_clippath.rb +0 -12
  284. data/doc/ex/rvg_linecap.rb +0 -42
  285. data/doc/ex/rvg_linejoin.rb +0 -40
  286. data/doc/ex/rvg_opacity.rb +0 -18
  287. data/doc/ex/rvg_pattern.rb +0 -26
  288. data/doc/ex/rvg_stroke_dasharray.rb +0 -11
  289. data/doc/ex/segment.rb +0 -11
  290. data/doc/ex/sepiatone.rb +0 -7
  291. data/doc/ex/shade.rb +0 -11
  292. data/doc/ex/shadow.rb +0 -30
  293. data/doc/ex/shave.rb +0 -15
  294. data/doc/ex/shear.rb +0 -10
  295. data/doc/ex/sketch.rb +0 -17
  296. data/doc/ex/skewx.rb +0 -51
  297. data/doc/ex/skewy.rb +0 -47
  298. data/doc/ex/smile.rb +0 -126
  299. data/doc/ex/solarize.rb +0 -11
  300. data/doc/ex/sparse_color.rb +0 -55
  301. data/doc/ex/splice.rb +0 -8
  302. data/doc/ex/spread.rb +0 -11
  303. data/doc/ex/stegano.rb +0 -54
  304. data/doc/ex/stroke_dasharray.rb +0 -42
  305. data/doc/ex/stroke_fill.rb +0 -10
  306. data/doc/ex/stroke_linecap.rb +0 -44
  307. data/doc/ex/stroke_linejoin.rb +0 -48
  308. data/doc/ex/stroke_width.rb +0 -49
  309. data/doc/ex/swirl.rb +0 -17
  310. data/doc/ex/text.rb +0 -37
  311. data/doc/ex/text01.rb +0 -16
  312. data/doc/ex/text_align.rb +0 -36
  313. data/doc/ex/text_antialias.rb +0 -37
  314. data/doc/ex/text_styles.rb +0 -19
  315. data/doc/ex/text_undercolor.rb +0 -28
  316. data/doc/ex/texture_fill_to_border.rb +0 -34
  317. data/doc/ex/texture_floodfill.rb +0 -32
  318. data/doc/ex/texturefill.rb +0 -24
  319. data/doc/ex/threshold.rb +0 -13
  320. data/doc/ex/to_blob.rb +0 -13
  321. data/doc/ex/translate.rb +0 -39
  322. data/doc/ex/transparent.rb +0 -38
  323. data/doc/ex/transpose.rb +0 -9
  324. data/doc/ex/transverse.rb +0 -9
  325. data/doc/ex/tref01.rb +0 -24
  326. data/doc/ex/triangle01.rb +0 -15
  327. data/doc/ex/trim.rb +0 -23
  328. data/doc/ex/tspan01.rb +0 -17
  329. data/doc/ex/tspan02.rb +0 -17
  330. data/doc/ex/tspan03.rb +0 -19
  331. data/doc/ex/unsharp_mask.rb +0 -28
  332. data/doc/ex/viewex.rb +0 -33
  333. data/doc/ex/vignette.rb +0 -12
  334. data/doc/ex/watermark.rb +0 -27
  335. data/doc/ex/wave.rb +0 -9
  336. data/doc/ex/wet_floor.rb +0 -58
  337. data/doc/ex/writing_mode01.rb +0 -26
  338. data/doc/ex/writing_mode02.rb +0 -26
  339. data/doc/ilist.html +0 -2056
  340. data/doc/image1.html +0 -4680
  341. data/doc/image2.html +0 -3665
  342. data/doc/image3.html +0 -4522
  343. data/doc/imageattrs.html +0 -1638
  344. data/doc/imusage.html +0 -514
  345. data/doc/index.html +0 -416
  346. data/doc/info.html +0 -1499
  347. data/doc/magick.html +0 -570
  348. data/doc/optequiv.html +0 -2435
  349. data/doc/rvg.html +0 -975
  350. data/doc/rvgclip.html +0 -248
  351. data/doc/rvggroup.html +0 -305
  352. data/doc/rvgimage.html +0 -289
  353. data/doc/rvgpattern.html +0 -475
  354. data/doc/rvgshape.html +0 -406
  355. data/doc/rvgstyle.html +0 -270
  356. data/doc/rvgtext.html +0 -465
  357. data/doc/rvgtspan.html +0 -238
  358. data/doc/rvgtut.html +0 -530
  359. data/doc/rvguse.html +0 -145
  360. data/doc/rvgxform.html +0 -294
  361. data/doc/scripts/doc.js +0 -22
  362. data/doc/scripts/stripeTables.js +0 -23
  363. data/doc/struct.html +0 -1339
  364. data/doc/usage.html +0 -1621
  365. data/examples/constitute.rb +0 -7
  366. data/examples/crop_with_gravity.rb +0 -42
  367. data/examples/demo.rb +0 -323
  368. data/examples/describe.rb +0 -41
  369. data/examples/find_similar_region.rb +0 -34
  370. data/examples/histogram.rb +0 -312
  371. data/examples/identify.rb +0 -174
  372. data/examples/image_opacity.rb +0 -28
  373. data/examples/import_export.rb +0 -31
  374. data/examples/pattern_fill.rb +0 -37
  375. data/examples/rotating_text.rb +0 -45
  376. data/examples/spinner.rb +0 -49
  377. data/examples/thumbnail.rb +0 -64
  378. data/examples/vignette.rb +0 -78
  379. data/lib/obsolete.rb +0 -66
  380. data/spec/rmagick/ImageList1_spec.rb +0 -24
  381. data/spec/rmagick/draw_spec.rb +0 -155
  382. data/spec/rmagick/image/blue_shift_spec.rb +0 -14
  383. data/spec/rmagick/image/channel_entropy_spec.rb +0 -9
  384. data/spec/rmagick/image/composite_spec.rb +0 -72
  385. data/spec/rmagick/image/constitute_spec.rb +0 -13
  386. data/spec/rmagick/image/dispatch_spec.rb +0 -16
  387. data/spec/rmagick/image/from_blob_spec.rb +0 -12
  388. data/spec/rmagick/image/ping_spec.rb +0 -12
  389. data/spec/rmagick/image/properties_spec.rb +0 -27
  390. data/spec/rmagick/image/read_spec.rb +0 -28
  391. data/spec/spec_helper.rb +0 -10
  392. data/spec/support/issue_200/app.rb +0 -8
  393. data/test/Draw.rb +0 -351
  394. data/test/Enum.rb +0 -228
  395. data/test/Fill.rb +0 -93
  396. data/test/Image1.rb +0 -627
  397. data/test/Image2.rb +0 -1426
  398. data/test/Image3.rb +0 -1091
  399. data/test/ImageList1.rb +0 -858
  400. data/test/ImageList2.rb +0 -406
  401. data/test/Image_attributes.rb +0 -666
  402. data/test/Import_Export.rb +0 -115
  403. data/test/Info.rb +0 -444
  404. data/test/KernelInfo.rb +0 -67
  405. data/test/Magick.rb +0 -311
  406. data/test/Pixel.rb +0 -285
  407. data/test/PolaroidOptions.rb +0 -23
  408. data/test/Preview.rb +0 -26
  409. data/test/Struct.rb +0 -45
  410. data/test/appearance/Montage.rb +0 -26
  411. data/test/appearance/appearance_assertion.rb +0 -13
  412. data/test/appearance/expected/montage_border_color.jpg +0 -0
  413. data/test/cmyk.icm +0 -0
  414. data/test/lib/Obsolete.rb +0 -30
  415. data/test/lib/internal/Draw.rb +0 -823
  416. data/test/lib/internal/Geometry.rb +0 -98
  417. data/test/lib/internal/Magick.rb +0 -40
  418. data/test/srgb.icm +0 -0
  419. data/test/test_all_basic.rb +0 -49
  420. data/test/tmpnam_test.rb +0 -50
@@ -1,49 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
-
3
- require 'rmagick'
4
-
5
- imgl = Magick::ImageList.new
6
- imgl.new_image(500, 80, Magick::HatchFill.new('white', 'lightcyan2'))
7
-
8
- gc = Magick::Draw.new
9
-
10
- # Draw 5-pixel wide line
11
- gc.stroke('LightPink')
12
- gc.stroke_width(5)
13
- gc.line(10, 30, 130, 30)
14
-
15
- # Draw 10-pixel wide line
16
- gc.stroke('LightSkyBlue2')
17
- gc.stroke_width(10)
18
- gc.line(130, 30, 230, 30)
19
-
20
- # Draw 20-pixel wide line
21
- gc.stroke('GreenYellow')
22
- gc.stroke_width(20)
23
- gc.line(230, 30, 370, 30)
24
-
25
- # Draw 40-pixel wide line
26
- gc.stroke('MediumOrchid2')
27
- gc.stroke_width(40)
28
- gc.line(370, 30, 490, 30)
29
-
30
- # Draw 1-pixel wide line through the center
31
- gc.stroke('black')
32
- gc.stroke_width(1)
33
- gc.line(10, 30, 490, 30)
34
-
35
- # Annotate
36
- gc.font_weight(Magick::NormalWeight)
37
- gc.font_style(Magick::NormalStyle)
38
- gc.fill('black')
39
- gc.stroke('transparent')
40
- gc.text(60, 70, "'5'")
41
- gc.text(180, 70, "'10'")
42
- gc.text(300, 70, "'20'")
43
- gc.text(420, 70, "'40'")
44
-
45
- gc.draw(imgl)
46
- imgl.border!(1, 1, 'lightcyan2')
47
-
48
- imgl.write('stroke_width.gif')
49
- exit
data/doc/ex/swirl.rb DELETED
@@ -1,17 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
- require 'rmagick'
3
-
4
- # Demonstrate the Image#swirl method
5
-
6
- img = Magick::Image.read('images/Flower_Hat.jpg').first
7
-
8
- # Make an animated image.
9
- animation = Magick::ImageList.new
10
- animation << img.copy
11
- 30.step(360, 45) { |degrees| animation << img.swirl(degrees) }
12
-
13
- animation.delay = 20
14
- animation.iterations = 10_000
15
-
16
- animation.write('swirl.gif')
17
- exit
data/doc/ex/text.rb DELETED
@@ -1,37 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
-
3
- require 'rmagick'
4
-
5
- imgl = Magick::ImageList.new
6
- imgl.new_image(190, 190)
7
-
8
- sample = Magick::Draw.new
9
- sample.stroke('transparent')
10
- if RUBY_PLATFORM =~ /mswin32/
11
- sample.font_family('Georgia')
12
- else
13
- sample.font_family('times')
14
- end
15
- sample.font_weight(Magick::NormalWeight)
16
- sample.pointsize(24)
17
-
18
- sample.font_style(Magick::NormalStyle)
19
- sample.text(20, 40, 'NormalStyle')
20
-
21
- sample.font_style(Magick::ItalicStyle)
22
- sample.text(20, 70, 'ItalicStyle')
23
-
24
- sample.font_style(Magick::ObliqueStyle)
25
- sample.text(20, 100, 'ObliqueStyle')
26
-
27
- sample.font_style(Magick::NormalStyle)
28
- sample.font_weight(Magick::BoldWeight)
29
- sample.text(20, 130, 'BoldWeight')
30
-
31
- sample.font_weight(Magick::LighterWeight)
32
- sample.text(20, 160, 'LighterWeight')
33
-
34
- sample.draw(imgl)
35
-
36
- imgl.write('text.gif')
37
- exit
data/doc/ex/text01.rb DELETED
@@ -1,16 +0,0 @@
1
- require 'rvg/rvg'
2
-
3
- Magick::RVG.dpi = 90
4
-
5
- rvg = Magick::RVG.new(10.cm, 3.cm).viewbox(0, 0, 1000, 300) do |canvas|
6
- canvas.background_fill = 'white'
7
- canvas.desc = "Example text01 - 'Hello, out there' in blue"
8
- canvas.text(250, 150, 'Hello, out there')
9
- .styles(font_family: 'Verdana', font_size: 55, fill: 'blue', font_weight: 'normal', font_style: 'normal')
10
- canvas.circle(5, 250, 150).styles(fill: 'red')
11
-
12
- # Show outline of canvas using 'rect' element
13
- canvas.rect(997, 297).styles(fill: 'none', stroke: 'blue')
14
- end
15
-
16
- rvg.draw.write('text01.gif')
data/doc/ex/text_align.rb DELETED
@@ -1,36 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
- require 'rmagick'
3
-
4
- # Demonstrate the Draw#text_align method
5
-
6
- canvas = Magick::Image.new(200, 100)
7
- gc = Magick::Draw.new
8
-
9
- # Draw three samples of text, each using
10
- # a different alignment constant. Put the
11
- # samples on different points on the y-axis
12
- # so we can tell them apart.
13
- gc.stroke('transparent')
14
- gc.pointsize(16)
15
- gc.fill('red')
16
- gc.text_align(Magick::RightAlign)
17
- gc.text(100, 30, 'RightAlign')
18
- gc.fill('blue')
19
- gc.text_align(Magick::CenterAlign)
20
- gc.text(100, 50, 'CenterAlign')
21
- gc.fill('green')
22
- gc.text_align(Magick::LeftAlign)
23
- gc.text(100, 70, 'LeftAlign')
24
-
25
- # Now draw lines to show the points
26
- # to which each sample is aligned.
27
- gc.stroke('gray50')
28
- gc.line(100, 10, 100, 90)
29
- gc.line(98, 30, 102, 30)
30
- gc.line(98, 50, 102, 50)
31
- gc.line(98, 70, 102, 70)
32
-
33
- gc.draw(canvas)
34
- canvas.border!(1, 1, 'gray50')
35
- canvas.write('text_align.gif')
36
- exit
@@ -1,37 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
- require 'rmagick'
3
-
4
- imgl = Magick::ImageList.new
5
- imgl.new_image(275, 170) { self.background_color = 'white' }
6
-
7
- gc = Magick::Draw.new
8
- gc.fill('black')
9
- gc.stroke('transparent')
10
-
11
- if RUBY_PLATFORM =~ /mswin32/
12
- gc.font_family('Georgia')
13
- gc.pointsize(152)
14
- else
15
- gc.font_family('courier')
16
- gc.pointsize(200)
17
- end
18
- gc.font_weight(Magick::BoldWeight)
19
-
20
- # Turn off antialiasing
21
- gc.text_antialias(false)
22
- gc.text(15, 145, 'A')
23
-
24
- # Turn it back on
25
- gc.text_antialias(true)
26
- gc.text(145, 145, 'A')
27
-
28
- gc.draw(imgl)
29
-
30
- # Blow up the image so we can
31
- # easily see the image, then
32
- # crop to a representative portion.
33
- imgl.resize!(3).crop!(235, 270, 365, 180)
34
- imgl.page = Magick::Rectangle.new(365, 180)
35
- imgl.border!(1, 1, 'black')
36
- imgl.write('text_antialias.gif')
37
- exit
@@ -1,19 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
- require 'rvg/rvg'
3
-
4
- rvg = Magick::RVG.new(200, 100) do |canvas|
5
- canvas.background_fill = 'white'
6
-
7
- canvas.g.styles(font_size: 16, font_weight: 'normal', font_style: 'normal') do |grp|
8
- grp.text(30, 30, ":text_anchor=>'start'").styles(text_anchor: 'start')
9
- grp.circle(1, 30, 30).styles(stroke: 'red')
10
- grp.text(100, 50, ":text_anchor=>'middle'").styles(text_anchor: 'middle')
11
- grp.circle(1, 100, 50).styles(stroke: 'red')
12
- grp.text(170, 70, ":text_anchor=>'end'").styles(text_anchor: 'end')
13
- grp.circle(1, 170, 70).styles(stroke: 'red')
14
- end
15
-
16
- canvas.rect(199, 99).styles(fill: 'none', stroke: 'blue')
17
- end
18
-
19
- rvg.draw.write('text_styles.gif')
@@ -1,28 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
- require 'rmagick'
3
-
4
- # Demonstrate the Draw#text_undercolor method
5
-
6
- canvas = Magick::Image.new(250, 100) { self.background_color = 'white' }
7
-
8
- gc = Magick::Draw.new
9
-
10
- gc.font_weight(Magick::NormalWeight)
11
- gc.font_style(Magick::NormalStyle)
12
- gc.stroke('transparent')
13
- gc.pointsize(16)
14
- gc.gravity(Magick::CenterGravity)
15
-
16
- gc.text_undercolor('cyan')
17
- gc.text(0, -20, "text_undercolor('cyan')")
18
-
19
- gc.text_undercolor('yellow')
20
- gc.text(0, 0, "text_undercolor('yellow')")
21
-
22
- gc.text_undercolor('pink')
23
- gc.text(0, 20, "text_undercolor('pink')")
24
-
25
- gc.draw(canvas)
26
-
27
- canvas.write('text_undercolor.gif')
28
- exit
@@ -1,34 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
- require 'rmagick'
3
-
4
- # Demonstrate the Image#texture_fill_to_border method
5
- # This example is nearly identical to the color_fill_to_border example.
6
-
7
- before = Magick::Image.new(200, 200) do
8
- self.background_color = 'white'
9
- self.border_color = 'black'
10
- end
11
- before.border!(1, 1, 'black')
12
-
13
- circle = Magick::Draw.new
14
- circle.fill('transparent')
15
- circle.stroke('black')
16
- circle.stroke_width(2)
17
- circle.circle(100, 100, 180, 100)
18
- circle.fill('plum1')
19
- circle.stroke('transparent')
20
- circle.circle(60, 100, 40, 100)
21
- circle.circle(140, 100, 120, 100)
22
- circle.circle(100, 60, 100, 40)
23
- circle.circle(100, 140, 100, 120)
24
- circle.draw(before)
25
-
26
- before.compression = Magick::LZWCompression
27
- before.write('texture_fill_to_border_before.gif')
28
-
29
- hat = Magick::Image.read('images/Flower_Hat.jpg').first
30
- hat.resize!(0.3)
31
- after = before.texture_fill_to_border(100, 100, hat)
32
-
33
- after.write('texture_fill_to_border_after.gif')
34
- exit
@@ -1,32 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
- require 'rmagick'
3
-
4
- # Demonstrate the Image#texture_floodfill method
5
- # This example is nearly identical to the color_floodfill example.
6
-
7
- before = Magick::Image.new(200, 200) { self.background_color = 'white' }
8
- before.border!(1, 1, 'black')
9
-
10
- circle = Magick::Draw.new
11
- circle.fill('transparent')
12
- circle.stroke_width(2)
13
- circle.stroke('black')
14
- circle.circle(100, 100, 180, 100)
15
- circle.fill('plum1')
16
- circle.stroke('transparent')
17
- circle.circle(60, 100, 40, 100)
18
- circle.circle(140, 100, 120, 100)
19
- circle.circle(100, 60, 100, 40)
20
- circle.circle(100, 140, 100, 120)
21
- circle.draw(before)
22
-
23
- before.compression = Magick::LZWCompression
24
- before.write('texture_floodfill_before.gif')
25
-
26
- hat = Magick::Image.read('images/Flower_Hat.jpg').first
27
- hat.resize!(0.3)
28
- before.fuzz = 25
29
- after = before.texture_floodfill(100, 100, hat)
30
-
31
- after.write('texture_floodfill_after.gif')
32
- exit
@@ -1,24 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
- require 'rmagick'
3
-
4
- # Demonstrate the Magick::TextureFill class.
5
-
6
- granite = Magick::Image.read('granite:').first
7
- fill = Magick::TextureFill.new(granite)
8
- img = Magick::ImageList.new
9
- img.new_image(300, 100, fill)
10
-
11
- # Annotate the filled image with the code that created the fill.
12
-
13
- ann = Magick::Draw.new
14
- ann.annotate(img, 0, 0, 0, 0, 'TextureFill.new(granite)') do
15
- self.gravity = Magick::CenterGravity
16
- self.fill = 'white'
17
- self.font_weight = Magick::BoldWeight
18
- self.stroke = 'transparent'
19
- self.pointsize = 14
20
- end
21
-
22
- # img.display
23
- img.write('texturefill.gif')
24
- exit
data/doc/ex/threshold.rb DELETED
@@ -1,13 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
- require 'rmagick'
3
-
4
- # Demonstrate the Image#threshold method
5
-
6
- img = Magick::Image.read('images/Flower_Hat.jpg').first
7
-
8
- # Use a threshold of 55% of QuantumRange.
9
- img = img.threshold(Magick::QuantumRange * 0.55)
10
-
11
- # img.display
12
- img.write('threshold.jpg')
13
- exit
data/doc/ex/to_blob.rb DELETED
@@ -1,13 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
- require 'rmagick'
3
-
4
- before = Magick::Image.read('images/Flower_Hat.jpg').first
5
- before.resize!(0.50) # make it small so this example will run fast
6
-
7
- blob = before.to_blob
8
- # We could pass the format, depth, and geometry as optional
9
- # arguments to `from_blob' but that is not required.
10
- after = Magick::Image.from_blob(blob)
11
-
12
- after[0].write('to_blob.gif')
13
- exit
data/doc/ex/translate.rb DELETED
@@ -1,39 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
- require 'rmagick'
3
-
4
- imgl = Magick::ImageList.new
5
- imgl.new_image(250, 250, Magick::HatchFill.new('white', 'lightcyan2'))
6
-
7
- gc = Magick::Draw.new
8
- gc.stroke('red')
9
- gc.stroke_width(2)
10
-
11
- # Move the origin to the center.
12
- gc.translate(125, 125)
13
- max_x = imgl.columns / 2
14
- max_y = imgl.rows / 2
15
-
16
- # Draw down-pointing arrow
17
- gc.line(0, -max_y, 0, max_y)
18
- gc.line(0, max_y, 10, max_y - 10)
19
- gc.line(0, max_y, -10, max_y - 10)
20
-
21
- # Draw right-pointing arrow
22
- gc.line(-max_x, 0, max_x, 0)
23
- gc.line(max_x, 0, max_x - 10, -10)
24
- gc.line(max_x, 0, max_x - 10, 10)
25
-
26
- # Add labels
27
- gc.font_weight(Magick::NormalWeight)
28
- gc.font_style(Magick::NormalStyle)
29
- gc.fill('black')
30
- gc.stroke('transparent')
31
- gc.text(8, 15, "'0,0'")
32
- gc.text(105, 16, 'x')
33
- gc.text(12, 115, 'y')
34
-
35
- gc.draw(imgl)
36
-
37
- imgl.border!(1, 1, 'lightcyan2')
38
-
39
- imgl.write('translate.gif')
@@ -1,38 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
- require 'rmagick'
3
-
4
- # Demonstrate the Image#transparent method.
5
- # Change all black pixels in the image to transparent.
6
-
7
- before = Magick::Image.new(200, 200) do
8
- self.background_color = 'black'
9
- end
10
-
11
- circle = Magick::Draw.new
12
- circle.fill('transparent')
13
- circle.stroke('white')
14
- circle.stroke_width(8)
15
- circle.circle(100, 100, 180, 100)
16
- circle.fill('transparent')
17
- circle.stroke('white')
18
- circle.circle(60, 100, 40, 100)
19
- circle.circle(140, 100, 120, 100)
20
- circle.circle(100, 60, 100, 40)
21
- circle.circle(100, 140, 100, 120)
22
- circle.draw(before)
23
-
24
- before.compression = Magick::LZWCompression
25
- before.write('transparent_before.gif')
26
-
27
- before.fuzz = 100
28
- after = before.transparent('black', Magick::TransparentOpacity)
29
-
30
- # Different way of reading an image - start with an imagelist.
31
- # Use the plasma image as a background so we can see that
32
- # the black pixels have been made transparent.
33
- bg = Magick::ImageList.new
34
- bg.read('plasma:purple-gold') { self.size = '200x200' }
35
-
36
- after = bg.composite(after, Magick::CenterGravity, Magick::OverCompositeOp)
37
- after.write('transparent_after.gif')
38
- exit
data/doc/ex/transpose.rb DELETED
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
- require 'rmagick'
3
-
4
- # Demonstrate the Image#transpose method
5
-
6
- img = Magick::Image.read('images/Flower_Hat.jpg').first
7
- img = img.transpose
8
- img.write('transpose.jpg')
9
- exit
data/doc/ex/transverse.rb DELETED
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
- require 'rmagick'
3
-
4
- # Demonstrate the Image#transverse method
5
-
6
- img = Magick::Image.read('images/Flower_Hat.jpg').first
7
- img = img.transverse
8
- img.write('transverse.jpg')
9
- exit
data/doc/ex/tref01.rb DELETED
@@ -1,24 +0,0 @@
1
- require 'rvg/rvg'
2
-
3
- Magick::RVG.dpi = 90
4
- Fill = %w[yellow pink green blue cyan red purple brown]
5
-
6
- rvg = Magick::RVG.new(6.cm, 6.cm).viewbox(0, 0, 600, 600) do |canvas|
7
- canvas.background_fill = 'white'
8
-
9
- ref_text = Magick::RVG::Tspan.new('Referenced').styles(font_size: 52, font_weight: 'bold')
10
-
11
- canvas.g.translate(300, 270) do |grp|
12
- angle = 0
13
- 8.times do |n|
14
- grp.text do |txt|
15
- txt.tref(ref_text).d(0, 30).rotate(angle).styles(fill: Fill[n])
16
- angle += 45
17
- end
18
- end
19
- end
20
-
21
- canvas.rect(596, 596).styles(fill: 'none', stroke: 'blue')
22
- end
23
-
24
- rvg.draw.write('tref01.gif')
data/doc/ex/triangle01.rb DELETED
@@ -1,15 +0,0 @@
1
- require 'rvg/rvg'
2
-
3
- Magick::RVG.dpi = 90
4
-
5
- rvg = Magick::RVG.new(4.cm, 4.cm).viewbox(0, 0, 400, 400) do |canvas|
6
- canvas.title = "Example triangle01 - simple example of a 'path'"
7
- canvas.desc = 'A path that draws a triangle'
8
-
9
- canvas.background_fill = 'white'
10
- canvas.rect(395, 395, 1, 1).styles(fill: 'none', stroke: 'blue')
11
-
12
- canvas.path('M 100 100 L 300 100 L 200 300 z').styles(fill: 'red', stroke: 'blue', stroke_width: 3)
13
- end
14
-
15
- rvg.draw.write('triangle01.gif')
data/doc/ex/trim.rb DELETED
@@ -1,23 +0,0 @@
1
- require 'rmagick'
2
-
3
- # Demonstrate the trim method
4
-
5
- # Read the Flower_Hat image and reduce it to 80% of its original size.
6
- img = Magick::Image.read('images/Flower_Hat.jpg').first
7
- cols = img.columns
8
- rows = img.rows
9
- img.resize!(0.80)
10
-
11
- # Add a gray border to bring it back up to size
12
- before = img.border((cols - img.columns) / 2, (rows - img.rows) / 2, '#999')
13
-
14
- # Trim away the gray border
15
- after = before.trim
16
-
17
- # Add a white border to bring it back up to size
18
- after.border!((cols - img.columns) / 2, (rows - img.rows) / 2, 'white')
19
-
20
- # Need GIF for tranparency
21
- before.write('trim_before.jpg')
22
- after.write('trim_after.jpg')
23
- exit
data/doc/ex/tspan01.rb DELETED
@@ -1,17 +0,0 @@
1
- require 'rvg/rvg'
2
-
3
- Magick::RVG.dpi = 90
4
-
5
- rvg = Magick::RVG.new(10.cm, 3.cm).viewbox(0, 0, 1000, 300) do |canvas|
6
- canvas.background_fill = 'white'
7
- canvas.desc = 'Example tspan01 - using tspan to change visual attributes'
8
- canvas.g.styles(font_family: 'Verdana', font_size: 45) do |grp|
9
- grp.text(200, 150, 'You are').styles(fill: 'blue') do |txt|
10
- txt.tspan(' not').styles(font_weight: 'bold', fill: 'red')
11
- txt.tspan(' a banana')
12
- end
13
- end
14
- canvas.rect(997, 297).styles(fill: 'none', stroke: 'blue')
15
- end
16
-
17
- rvg.draw.write('tspan01.gif')
data/doc/ex/tspan02.rb DELETED
@@ -1,17 +0,0 @@
1
- require 'rvg/rvg'
2
-
3
- Magick::RVG.dpi = 90
4
-
5
- rvg = Magick::RVG.new(10.cm, 3.cm).viewbox(0, 0, 1000, 300) do |canvas|
6
- canvas.background_fill = 'white'
7
- canvas.desc = "Example tspan02 - using tspan's dx and dy attributes for incremental positioning adjustments"
8
- canvas.g.styles(font_family: 'Verdana', font_size: 45) do |g|
9
- g.text(200, 150, 'But you').styles(fill: 'blue') do |txt|
10
- txt.tspan('are').d(100, -50).styles(font_weight: 'bold', fill: 'red')
11
- txt.tspan(' a peach!').d(0, 100)
12
- end
13
- end
14
- canvas.rect(996, 296, 1, 1).styles(fill: 'none', stroke: 'blue')
15
- end
16
-
17
- rvg.draw.write('tspan02.gif')
data/doc/ex/tspan03.rb DELETED
@@ -1,19 +0,0 @@
1
- require 'rvg/rvg'
2
-
3
- Magick::RVG.dpi = 90
4
-
5
- rvg = Magick::RVG.new(10.cm, 3.cm).viewbox(0, 0, 1000, 300) do |canvas|
6
- canvas.background_fill = 'white'
7
-
8
- canvas.g.translate(100, 60) do |grp|
9
- grp.text.styles(font_family: 'Verdana', font_size: 45) do |txt|
10
- txt.tspan('Rotation')
11
- txt.tspan(' propogates').rotate(20).styles(fill: 'red') do |tsp|
12
- tsp.tspan(' to descendents').styles(fill: 'green')
13
- end
14
- end
15
- end
16
- canvas.rect(997, 297).styles(fill: 'none', stroke: 'blue')
17
- end
18
-
19
- rvg.draw.write('tspan03.gif')
@@ -1,28 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
- require 'rmagick'
3
-
4
- # Demonstrate the Image#enhance method
5
-
6
- img = Magick::Image.read('images/Flower_Hat.jpg').first
7
-
8
- eimg = img.unsharp_mask(3.0, 1.0, 1.0, 0.05)
9
-
10
- img.resize!(3)
11
- eimg.resize!(3)
12
-
13
- # Make a before-and-after composite
14
- eimg.crop!(eimg.columns / 2, 0, eimg.columns / 2, eimg.rows)
15
- img = img.composite(eimg, Magick::EastGravity, Magick::OverCompositeOp)
16
-
17
- # Draw a black line between the before and after parts.
18
- line = Magick::Draw.new
19
- line.line(img.columns / 2, 0, img.columns / 2, img.rows)
20
- line.draw(img)
21
-
22
- # Zoom in so we can see the change,
23
- # then crop everything but the face.
24
- img.crop!(Magick::CenterGravity, 250, 200)
25
-
26
- # img.display
27
- img.write('unsharp_mask.jpg')
28
- exit
data/doc/ex/viewex.rb DELETED
@@ -1,33 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
-
3
- require 'rmagick'
4
-
5
- img = Magick::Image.new(40, 40) { self.background_color = 'lightcyan2' }
6
-
7
- # The view is 400 pixels square, starting
8
- # column 10, row 5 from the top of the image.
9
- img.view(10, 5, 20, 20) do |view|
10
- # Set all the pixels in the view to green.
11
- view[][] = Magick::Pixel.new(0, Magick::QuantumRange)
12
-
13
- # Change the top and bottom rows to red.
14
- view[0][] = 'red'
15
- view[-1, 1][] = 'red'
16
-
17
- # Set 6 pixels to black.
18
- view[[13, 15]][[12, 14, 16]] = 'black'
19
-
20
- # Set 1 pixel to yellow.
21
- view[5][7] = 'yellow'
22
-
23
- # Change the green channel of all the
24
- # pixels on row 8.
25
- view[8][].green = Magick::QuantumRange / 2
26
-
27
- # Change the blue channel of 8 pixels
28
- # on column 10.
29
- view[4, 8][10].blue = Magick::QuantumRange
30
- end
31
-
32
- img.scale(5).write('viewex.gif')
33
- exit
data/doc/ex/vignette.rb DELETED
@@ -1,12 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
-
3
- require 'rmagick'
4
-
5
- # Demonstrate the Image#vignette method.
6
- # Compare this example with the vignette.rb script in the examples directory.
7
-
8
- img = Magick::Image.read('images/Flower_Hat.jpg').first
9
- vignette = img.vignette
10
- vignette.write('vignette.jpg')
11
-
12
- exit