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/trim.rb DELETED
@@ -1,24 +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
24
-
data/doc/ex/tspan01.rb DELETED
@@ -1,18 +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')
18
-
data/doc/ex/tspan02.rb DELETED
@@ -1,19 +0,0 @@
1
- require 'rvg/rvg'
2
-
3
- Magick::RVG::dpi = 90
4
-
5
-
6
- rvg = Magick::RVG.new(10.cm, 3.cm).viewbox(0,0,1000,300) do |canvas|
7
- canvas.background_fill = 'white'
8
- canvas.desc = "Example tspan02 - using tspan's dx and dy attributes for incremental positioning adjustments"
9
- canvas.g.styles(:font_family=>'Verdana', :font_size=>45) do |_g|
10
- _g.text(200, 150, "But you").styles(:fill=>'blue') do |txt|
11
- txt.tspan("are").d(100, -50).styles(:font_weight=>'bold', :fill=>'red')
12
- txt.tspan(" a peach!").d(0, 100)
13
- end
14
- end
15
- canvas.rect(996, 296, 1, 1).styles(:fill=>'none', :stroke=>'blue')
16
- end
17
-
18
- rvg.draw.write('tspan02.gif')
19
-
data/doc/ex/tspan03.rb DELETED
@@ -1,21 +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
-
18
- end
19
-
20
- rvg.draw.write('tspan03.gif')
21
-
@@ -1,28 +0,0 @@
1
- #! /usr/local/bin/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,35 +0,0 @@
1
- #! /usr/local/bin/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
-
11
- # Set all the pixels in the view to green.
12
- view[][] = Magick::Pixel.new(0, Magick::QuantumRange)
13
-
14
- # Change the top and bottom rows to red.
15
- view[0][] = 'red'
16
- view[-1,1][] = 'red'
17
-
18
- # Set 6 pixels to black.
19
- view[[13,15]][[12,14,16]] = 'black'
20
-
21
- # Set 1 pixel to yellow.
22
- view[5][7] = 'yellow'
23
-
24
- # Change the green channel of all the
25
- # pixels on row 8.
26
- view[8][].green = Magick::QuantumRange/2
27
-
28
- # Change the blue channel of 8 pixels
29
- # on column 10.
30
- view[4,8][10].blue = Magick::QuantumRange
31
- end
32
-
33
- img.scale(5).write("viewex.gif")
34
- exit
35
-
data/doc/ex/vignette.rb DELETED
@@ -1,12 +0,0 @@
1
- #! /usr/local/bin/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
data/doc/ex/watermark.rb DELETED
@@ -1,28 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
-
3
- require "RMagick"
4
-
5
- img = Magick::Image.read("images/Flower_Hat.jpg").first
6
-
7
- # Make a watermark from the word "RMagick"
8
- mark = Magick::Image.new(140, 40) {self.background_color = "none"}
9
- gc = Magick::Draw.new
10
-
11
- gc.annotate(mark, 0, 0, 0, -5, "RMagick") do
12
- gc.gravity = Magick::CenterGravity
13
- gc.pointsize = 32
14
- if RUBY_PLATFORM =~ /mswin32/
15
- gc.font_family = "Georgia"
16
- else
17
- gc.font_family = "Times"
18
- end
19
- gc.fill = "white"
20
- gc.stroke = "none"
21
- end
22
-
23
- mark = mark.wave(2.5, 70).rotate(-90)
24
-
25
- # Composite the watermark in the lower right (southeast) corner.
26
- img2 = img.watermark(mark, 0.25, 0, Magick::SouthEastGravity)
27
- img2.write("watermark.jpg")
28
-
data/doc/ex/wave.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.wave
7
-
8
- img.write('wave.jpg')
9
- exit
data/doc/ex/wet_floor.rb DELETED
@@ -1,59 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'RMagick'
4
-
5
-
6
- results = Magick::ImageList.new
7
-
8
- img = Magick::Image.new(270, 60) {self.background_color = "black" }
9
-
10
- gc = Magick::Draw.new
11
- gc.annotate(img, 0, 0, 0, -15, "RUBY!") do
12
- gc.fill = '#a00'
13
- gc.stroke = '#f00'
14
- gc.stroke_width = 2
15
- gc.font_weight = Magick::BoldWeight
16
- gc.gravity = Magick::SouthGravity
17
- if RUBY_PLATFORM =~ /mswin32/
18
- gc.font_family = "Georgia"
19
- gc.pointsize = 76
20
- else
21
- gc.font_family = "times"
22
- gc.pointsize = 80
23
- end
24
- end
25
-
26
- # Add a little bit of shading
27
- if Magick.const_defined? "HardLightCompositeOp"
28
- shade = img.shade(true, 310, 30)
29
- img.composite!(shade, Magick::CenterGravity, Magick::HardLightCompositeOp)
30
- end
31
-
32
- # Create the default reflection
33
- reflection = img.wet_floor
34
-
35
- ilist = Magick::ImageList.new
36
- ilist << img << reflection
37
- results << ilist.append(true)
38
-
39
- # Change the initial level of transparency and the rate of transition
40
- ilist[1] = img.wet_floor(0.25, 0.5)
41
- results << ilist.append(true)
42
-
43
- # Add a slant
44
- xform = Magick::AffineMatrix.new(1.0, 0.0, Math::PI/4.0, 1.0, 0.0, 0.0)
45
- ilist[1] = ilist[1].affine_transform(xform)
46
- results << ilist.append(true)
47
-
48
- # Add a ripple
49
- ilist[1] = ilist[1].rotate(90).wave(2, 10).rotate(-90)
50
- results << ilist.append(true)
51
-
52
- # Montage into a single demo image. Use a white background so
53
- # there won't be any problems with transparency in the browser.
54
- result = results.montage do
55
- self.geometry = '270x120'
56
- self.tile = '1x4'
57
- self.background_color = 'black'
58
- end
59
- result.write('wet_floor.gif')
@@ -1,27 +0,0 @@
1
- require 'rvg/rvg'
2
-
3
- Magick::RVG.dpi = 90
4
-
5
- TEXT_STYLES = {:writing_mode=>'tb',
6
- :glyph_orientation_vertical=>0,
7
- :fill=>'red4',
8
- :font_weight=>'bold',
9
- :font_size=>16}
10
-
11
- TEXT_STYLES2 = {:writing_mode=>'tb',
12
- :glyph_orientation_vertical=>90,
13
- :fill=>'green',
14
- :font_weight=>'bold',
15
- :font_size=>16}
16
-
17
- rvg = Magick::RVG.new(1.25.in, 7.in).viewbox(0,0,125,700) do |canvas|
18
- canvas.background_fill = 'white'
19
-
20
- canvas.text(40, 15, ":glyph_orientation_vertical=0").styles(TEXT_STYLES)
21
- canvas.text(80, 25, ":glyph_orientation_vertical=90").styles(TEXT_STYLES2)
22
-
23
- canvas.rect(124, 698).styles(:fill=>'none',:stroke=>'blue')
24
- end
25
-
26
- rvg.draw.write('writing_mode01.gif')
27
-
@@ -1,26 +0,0 @@
1
- require 'rvg/rvg'
2
-
3
- Magick::RVG.dpi = 90
4
-
5
- TEXT_STYLES = {:writing_mode=>'lr',
6
- :glyph_orientation_horizontal=>0,
7
- :fill=>'red4',
8
- :font_weight=>'bold',
9
- :font_size=>16}
10
-
11
- TEXT_STYLES2 = {:writing_mode=>'lr',
12
- :glyph_orientation_horizontal=>180,
13
- :fill=>'green',
14
- :font_weight=>'bold',
15
- :font_size=>16}
16
-
17
- rvg = Magick::RVG.new(3.in, 1.in).viewbox(0,0,300,100) do |canvas|
18
- canvas.background_fill = 'white'
19
-
20
- canvas.text(15, 40, ":glyph_orientation_horizontal=0").styles(TEXT_STYLES)
21
- canvas.text(15, 80, ":glyph_orientation_horizontal=180").styles(TEXT_STYLES2)
22
-
23
- canvas.rect(299, 99).styles(:fill=>'none',:stroke=>'blue')
24
- end
25
-
26
- rvg.draw.write('writing_mode02.gif')