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/cubic01.rb DELETED
@@ -1,45 +0,0 @@
1
- require 'rvg/rvg'
2
-
3
- Magick::RVG.dpi = 90
4
-
5
- Border = {:fill=>'none', :stroke=>'blue', :stroke_width=>1}
6
- Connect = {:fill=>'none', :stroke=>'#888', :stroke_width=>2}
7
- SamplePath = {:fill=>'none', :stroke=>'red', :stroke_width=>5}
8
- EndPoint = {:fill=>'none', :stroke=>'#888', :stroke_width=>2}
9
- CtlPoint = {:fill=>'#888', :stroke=>'none'}
10
- AutoCtlPoint = {:fill=>'none', :stroke=>'blue', :stroke_width=>4}
11
- Label = {:font_size=>22, :font_family=>'Verdana', :font_weight=>'normal', :font_style=>'normal'}
12
-
13
- rvg = Magick::RVG.new(5.cm, 4.cm).viewbox(0, 0, 500, 400) do |canvas|
14
- canvas.title = "Example cubic01 - cubic Bezier commands in path data"
15
- canvas.desc = <<-END_DESC
16
- Picture showing a simple example of path data using both a
17
- "C" and an "S" command, along with annotations showing the
18
- control points and end points.
19
- END_DESC
20
-
21
- canvas.background_fill = 'white'
22
- canvas.rect(496, 395, 1, 1).styles(Border)
23
-
24
- canvas.polyline(100,200, 100,100).styles(Connect)
25
- canvas.polyline(250,100, 250,200).styles(Connect)
26
- canvas.polyline(250,200, 250,300).styles(Connect)
27
- canvas.polyline(400,300, 400,200).styles(Connect)
28
-
29
- canvas.path("M100,200 C100,100 250,100 250,200 S400,300 400,200").styles(SamplePath)
30
-
31
- canvas.circle(10, 100, 200).styles(EndPoint)
32
- canvas.circle(10, 250, 200).styles(EndPoint)
33
- canvas.circle(10, 400, 200).styles(EndPoint)
34
- canvas.circle(10, 100, 100).styles(CtlPoint)
35
- canvas.circle(10, 250, 100).styles(CtlPoint)
36
- canvas.circle(10, 400, 300).styles(CtlPoint)
37
- canvas.circle(9, 250, 300).styles(AutoCtlPoint)
38
-
39
- canvas.text(25, 70, 'M100,200 C100,100 250,100 250,200').styles(Label)
40
- canvas.text(225, 350, 'S400,300 400,200').styles(Label)
41
-
42
- end
43
-
44
- rvg.draw.write('cubic01.gif')
45
-
data/doc/ex/cubic02.rb DELETED
@@ -1,94 +0,0 @@
1
- require 'rvg/rvg'
2
-
3
- Magick::RVG.dpi = 90
4
-
5
- Border = { :fill=>'none', :stroke=>'blue', :stroke_width=>1 }
6
- Connect = { :fill=>'none', :stroke=>'#888888', :stroke_width=>2 }
7
- SamplePath = { :fill=>'none', :stroke=>'red', :stroke_width=>5 }
8
- EndPoint = { :fill=>'none', :stroke=>'#888888', :stroke_width=>2 }
9
- CtlPoint = { :fill=>'#888888', :stroke=>'none' }
10
- AutoCtlPoint = { :fill=>'none', :stroke=>'blue', :stroke_width=>4 }
11
- Label = { :text_anchor=>'middle', :font_size=>22, :font_family=>'Verdana', :font_weight=>'normal', :font_style=>'normal' }
12
-
13
- rvg = Magick::RVG.new(10.cm, 10.cm).viewbox(0, 0, 1000, 1000) do |canvas|
14
- canvas.title = 'Example cubic02 - cubic Bezier commands in path data'
15
- canvas.desc = <<-END_DESC
16
- Picture showing examples of "C" and "S" commands,
17
- along with annotations showing the control points
18
- and end points
19
- END_DESC
20
-
21
- canvas.background_fill = 'white'
22
- canvas.rect(996, 996, 1, 1).styles(Border)
23
-
24
- # Path 1
25
- canvas.polyline(100,200, 100,100).styles(Connect)
26
- canvas.polyline(400,100, 400,200).styles(Connect)
27
- canvas.path('M100,200 C100,100 400,100 400,200').styles(SamplePath)
28
- canvas.circle(10, 100, 200).styles(EndPoint)
29
- canvas.circle(10, 400, 200).styles(EndPoint)
30
- canvas.circle(10, 100, 100).styles(CtlPoint)
31
- canvas.circle(10, 400, 100).styles(CtlPoint)
32
- canvas.text(250, 275, 'M100,200 C100,100 400,100 400,200').styles(Label)
33
-
34
- # Path 2
35
- canvas.polyline(100,500, 25,400).styles(Connect)
36
- canvas.polyline(475,400, 400,500).styles(Connect)
37
- canvas.path("M100,500 C25,400 475,400 400,500").styles(SamplePath)
38
- canvas.circle(10, 100, 500).styles(EndPoint)
39
- canvas.circle(10, 400, 500).styles(EndPoint)
40
- canvas.circle(10, 25, 400).styles(CtlPoint)
41
- canvas.circle(10, 475, 400).styles(CtlPoint)
42
- canvas.text(250, 575, "M100,500 C25,400 475,400 400,500").styles(Label)
43
-
44
- # Path 3
45
- canvas.polyline(100,800, 175,700).styles(Connect)
46
- canvas.polyline(325,700, 400,800).styles(Connect)
47
- canvas.path("M100,800 C175,700 325,700 400,800").styles(SamplePath)
48
- canvas.circle(10, 100, 800).styles(EndPoint)
49
- canvas.circle(10, 400, 800).styles(EndPoint)
50
- canvas.circle(10, 175, 700).styles(CtlPoint)
51
- canvas.circle(10, 325, 700).styles(CtlPoint)
52
- canvas.text(250, 875, "M100,800 C175,700 325,700 400,800").styles(Label)
53
-
54
- # Path 4
55
- canvas.polyline(600,200, 675,100).styles(Connect)
56
- canvas.polyline(975,100, 900,200).styles(Connect)
57
- canvas.path("M600,200 C675,100 975,100 900,200").styles(SamplePath)
58
- canvas.circle(10, 600, 200).styles(EndPoint)
59
- canvas.circle(10, 900, 200).styles(EndPoint)
60
- canvas.circle(10, 675, 100).styles(CtlPoint)
61
- canvas.circle(10, 975, 100).styles(CtlPoint)
62
- canvas.text(750, 275, "M600,200 C675,100 975,100 900,200").styles(Label)
63
-
64
- # Path 5
65
- canvas.polyline(600,500, 600,350).styles(Connect)
66
- canvas.polyline(900,650, 900,500).styles(Connect)
67
- canvas.path("M600,500 C600,350 900,650 900,500").styles(SamplePath)
68
- canvas.circle(10, 600, 500).styles(EndPoint)
69
- canvas.circle(10, 900, 500).styles(EndPoint)
70
- canvas.circle(10, 600, 350).styles(CtlPoint)
71
- canvas.circle(10, 900, 650).styles(CtlPoint)
72
- canvas.text(750, 575, "M600,500 C600,350 900,650 900,500").styles(Label)
73
-
74
- # Path 6 (C and S command)
75
- canvas.polyline(600,800, 625,700).styles(Connect)
76
- canvas.polyline(725,700, 750,800).styles(Connect)
77
- canvas.polyline(750,800, 775,900).styles(Connect)
78
- canvas.polyline(875,900, 900,800).styles(Connect)
79
- canvas.path("M600,800 C625,700 725,700 750,800 S875,900 900,800").styles(SamplePath)
80
- canvas.circle(10, 600, 800).styles(EndPoint)
81
- canvas.circle(10, 750, 800).styles(EndPoint)
82
- canvas.circle(10, 900, 800).styles(EndPoint)
83
- canvas.circle(10, 625, 700).styles(CtlPoint)
84
- canvas.circle(10, 725, 700).styles(CtlPoint)
85
- canvas.circle(10, 875, 900).styles(CtlPoint)
86
- canvas.circle(10, 775, 900).styles(AutoCtlPoint)
87
- canvas.text(750, 945, "M600,800 C625,700 725,700 750,800").styles(Label)
88
- canvas.text(750, 975, "S875,900 900,800").styles(Label)
89
-
90
- end
91
-
92
- rvg.draw.write('cubic02.gif')
93
-
94
-
@@ -1,21 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- # Demonstrate the Image#cycle_colormap method
5
-
6
- balloons = Magick::Image.read('images/Hot_Air_Balloons.jpg').first
7
- balloons = balloons.quantize(256, Magick::RGBColorspace)
8
-
9
- jump = balloons.colors / 10
10
-
11
- animation = Magick::ImageList.new
12
- animation[0] = balloons
13
-
14
- 5.times { animation << animation.cycle_colormap(jump) }
15
- 4.times { animation << animation.cycle_colormap(-jump) }
16
-
17
- animation.delay=20
18
- animation.iterations = 10000
19
- #animation.animate
20
- animation.write('cycle_colormap.gif')
21
- exit
data/doc/ex/dissolve.rb DELETED
@@ -1,13 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
-
3
- require 'RMagick'
4
-
5
- bgnd = Magick::Image.read('images/Violin.jpg').first
6
- overlay = Magick::Image.read('images/Flower_Hat.jpg').first
7
-
8
- # Make the violin image the same size as the hat image
9
- bgnd.resize_to_fill!(overlay.columns, overlay.rows)
10
-
11
- composited = bgnd.dissolve(overlay, 0.50)
12
- composited.write('dissolve.jpg')
13
-
data/doc/ex/drawcomp.rb DELETED
@@ -1,42 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
-
3
- require 'RMagick'
4
-
5
- # Read the snake image file and scale to 200 pixels high.
6
- begin
7
- snake = Magick::ImageList.new("images/Snake.wmf")
8
- snake.scale!(200.0/snake.rows)
9
-
10
- # Read the coffee cup image and scale to 200 pixels high.
11
- coffee = Magick::ImageList.new("images/Coffee.wmf")
12
- coffee.scale!(200.0/coffee.rows)
13
-
14
- # We want the "no" symbol to be a little smaller.
15
- # Read and scale to 150 pixels high.
16
- sign = Magick::ImageList.new("images/No.wmf")
17
- sign.scale!(150.0/sign.rows)
18
-
19
- # Change the white pixels in the sign to transparent.
20
- sign = sign.matte_replace(0,0)
21
-
22
- # Create a "nosnake" draw object. Add a composite
23
- # primitive that composites the "no" symbol over
24
- # the snake. Draw it.
25
- nosnake = Magick::Draw.new
26
- nosnake.composite((snake.columns-sign.columns)/2,
27
- (snake.rows-sign.rows)/2, 0, 0, sign)
28
- nosnake.draw(snake)
29
-
30
- # Repeat for the coffee cup.
31
- nocoffee = Magick::Draw.new
32
- nocoffee.composite((coffee.columns-sign.columns)/2,
33
- (coffee.columns-sign.columns)/2, 0, 0, sign)
34
- nocoffee.draw(coffee)
35
-
36
- coffee.write("drawcomp1.gif")
37
- snake.write("drawcomp2.gif")
38
-
39
- rescue Magick::ImageMagickError
40
- puts "#{$0}: ImageMagickError - #{$!}"
41
- end
42
- exit
@@ -1,60 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- # Add a drop shadow to a text string. This example
5
- # uses a 3-image animation to show each step of the
6
- # process
7
-
8
- Rows = 60
9
- Cols = 250
10
- Text = 'Ruby rocks!'
11
-
12
- # This imagelist will contain the animation frames
13
- anim = Magick::ImageList.new
14
-
15
- ex = Magick::Image.new(Cols, Rows)
16
-
17
- # Create a Draw object to draw the text with. Most of the text
18
- # attributes are shared between the shadow and the foreground.
19
-
20
- text = Magick::Draw.new
21
- text.gravity = Magick::CenterGravity
22
- text.pointsize = 36
23
- text.font_weight = Magick::BoldWeight
24
- text.font_style = Magick::ItalicStyle
25
- text.stroke = 'transparent'
26
-
27
- # Draw the shadow text first. The color is a very light gray.
28
- # Position the text to the right and down.
29
- text.annotate(ex, 0,0,2,2, Text) {
30
- self.fill = 'gray60'
31
- }
32
-
33
- # Save the first frame of the animation.
34
- anim << ex.copy
35
-
36
- # Blur the shadow. Save a copy of the image as the 2nd frame.
37
- ex = ex.blur_image(0,3)
38
- anim << ex.copy
39
-
40
- # Add the foreground text in solid black. Position it
41
- # to the left and up from the shadow text.
42
- text.annotate(ex, 0,0,-1,-1, Text) {
43
- self.fill = 'maroon'
44
- }
45
-
46
- # Save yet another copy of the image as the 3rd frame.
47
- anim << ex.copy
48
-
49
- # Set the delay between frames to 1 second.
50
- anim.delay = 100
51
-
52
- # Set the delay after the last frame to 3 seconds.
53
- anim.cur_image.delay = 300
54
-
55
- # Iterate forever.
56
- anim.iterations = 0
57
-
58
- #anim.animate
59
- anim.write('drop_shadow.gif')
60
- exit
data/doc/ex/edge.rb DELETED
@@ -1,11 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- # Demonstrate the Image#edge method
5
-
6
- img = Magick::Image.read('images/Flower_Hat.jpg').first
7
- img = img.quantize(256, Magick::GRAYColorspace)
8
- img = img.edge(5)
9
-
10
- img.write('edge.jpg')
11
- exit
data/doc/ex/ellipse.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(360, 250, Magick::HatchFill.new('white','LightCyan2'))
6
-
7
- gc = Magick::Draw.new
8
-
9
- gc.fill_opacity(0)
10
- gc.stroke('red').stroke_width(3)
11
-
12
- # Draw ellipse
13
- gc.ellipse(180,125, 150,75, 0, 270)
14
-
15
- # Draw horizontal width line
16
- gc.stroke('gray50').stroke_width(1)
17
- gc.line(180-150, 125, 180, 125)
18
-
19
- # Draw vertical height line
20
- gc.line(180, 125-75, 180, 125)
21
- gc.fill_opacity(0)
22
-
23
- # Draw arcStart circle
24
- gc.circle(180+150, 125, 180+150+3, 125+3)
25
-
26
- # Draw arcEnd circle
27
- gc.circle(180, 125-75, 180+3, 125-75+3)
28
-
29
- # Annotate
30
- gc.font_weight(Magick::NormalWeight)
31
- gc.font_style(Magick::NormalStyle)
32
- gc.fill_opacity(1)
33
- gc.circle(180,125, 183,128)
34
- gc.fill('black')
35
- gc.stroke('transparent')
36
- gc.text(187,125, "'180,125'")
37
- gc.text(253, 118, "'Start 0 degrees'")
38
- gc.text(187, 50, "'End 270 degrees'")
39
- gc.text(120, 100, "'Height=75'")
40
- gc.text(85, 140, "'Width=150'")
41
- gc.draw(imgl)
42
-
43
- imgl.border!(1,1, "LightCyan2")
44
-
45
- imgl.write("ellipse.gif")
data/doc/ex/ellipse01.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).viewbox(0, 0, 1200, 400) do |canvas|
6
- canvas.background_fill = 'white'
7
- canvas.desc = "Example ellipse01 - examples of ellipses"
8
-
9
- # Show outline of canvas using rect method
10
- canvas.rect(1195, 395, 1, 1).styles(:fill=>'none', :stroke=>'blue', :stroke_width=>2)
11
-
12
- canvas.g.translate(300, 200) do |grp|
13
- grp.ellipse(250, 100).styles(:fill=>'red')
14
- end
15
-
16
- canvas.g.translate(900, 200).rotate(-30) do |grp|
17
- grp.ellipse(250, 100).styles(:fill=>'none', :stroke=>'blue', :stroke_width=>20)
18
- end
19
- end
20
-
21
- rvg.draw.write('ellipse01.gif')
22
-
data/doc/ex/emboss.rb DELETED
@@ -1,11 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- # Demonstrate the Image#edge method
5
-
6
- img = Magick::Image.read('images/Flower_Hat.jpg').first
7
-
8
- img = img.emboss
9
-
10
- img.write('emboss.jpg')
11
- exit
data/doc/ex/enhance.rb DELETED
@@ -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
- img = img.add_noise(Magick::UniformNoise)
8
-
9
- eimg = img.enhance
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!(Magick::EastGravity, 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('enhance.jpg')
28
- exit
data/doc/ex/equalize.rb DELETED
@@ -1,11 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- # Demonstrate the Image#equalize method
5
-
6
- img = Magick::Image.read('images/Flower_Hat.jpg').first
7
-
8
- img = img.equalize
9
-
10
- img.write('equalize.jpg')
11
- exit
data/doc/ex/evenodd.rb DELETED
@@ -1,43 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'rvg/rvg'
3
-
4
- Magick::RVG.dpi = 90
5
-
6
- rvg = Magick::RVG.new(12.cm, 4.cm).viewbox(0, 0, 1200, 400) do |canvas|
7
- canvas.background_fill = 'white'
8
- canvas.desc = "Example fillrule - nonzero - demonstrates fill_rule=>'nonzero'"
9
-
10
- canvas.rect(1195, 393, 1, 1).styles(:fill=>'none', :stroke=>'blue')
11
-
12
- triangle = Magick::RVG::Group.new do |defs|
13
- defs.path("M 16,0 L -8,9 v-18 z").styles(:fill=>'black', :stroke=>'none')
14
- end
15
-
16
- canvas.g.styles(:clip_rule=>'evenodd', :fill=>'red', :stroke=>'black', :stroke_width=>3) do |grp|
17
- grp.path("M 250,75 L 323,301 131,161 369,161 177,301 z")
18
- grp.use(triangle).translate(306.21, 249).rotate(72)
19
- grp.use(triangle).translate(175.16,193.2).rotate(216)
20
- grp.use(triangle).translate(314.26,161).rotate(0)
21
- grp.use(triangle).translate(221.16,268.8).rotate(144)
22
- grp.use(triangle).translate(233.21,126.98).rotate(288)
23
- grp.path("M 600,81 A 107,107 0 0,1 600,295 A 107,107 0 0,1 600,81 z" +
24
- "M 600,139 A 49,49 0 0,1 600,237 A 49,49 0 0,1 600,139 z")
25
- grp.use(triangle).translate(600,188).rotate(0).translate(107,0).rotate(90)
26
- grp.use(triangle).translate(600,188).rotate(120).translate(107,0).rotate(90)
27
- grp.use(triangle).translate(600,188).rotate(240).translate(107,0).rotate(90)
28
- grp.use(triangle).translate(600,188).rotate(60).translate(49,0).rotate(90)
29
- grp.use(triangle).translate(600,188).rotate(180).translate(49,0).rotate(90)
30
- grp.use(triangle).translate(600,188).rotate(300).translate(49,0).rotate(90)
31
- grp.path("M 950,81 A 107,107 0 0,1 950,295 A 107,107 0 0,1 950,81 z" +
32
- "M 950,139 A 49,49 0 0,0 950,237 A 49,49 0 0,0 950,139 z")
33
- grp.use(triangle).translate(950,188).rotate(0).translate(107,0).rotate(90)
34
- grp.use(triangle).translate(950,188).rotate(120).translate(107,0).rotate(90)
35
- grp.use(triangle).translate(950,188).rotate(240).translate(107,0).rotate(90)
36
- grp.use(triangle).translate(950,188).rotate(60).translate(49,0).rotate(-90)
37
- grp.use(triangle).translate(950,188).rotate(180).translate(49,0).rotate(-90)
38
- grp.use(triangle).translate(950,188).rotate(300).translate(49,0).rotate(-90)
39
- end
40
- end
41
-
42
- rvg.draw.write('evenodd.gif')
43
-
@@ -1,26 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- # Demonstrate the Magick::Draw#fill_pattern and #stroke_pattern attributes.
5
-
6
- temp = Magick::ImageList.new
7
- temp << Magick::Image.new(5, 10) {self.background_color = "black"}
8
- temp << Magick::Image.new(5, 10) {self.background_color = "gold"}
9
- stroke_pattern = temp.append(false)
10
-
11
- img = Magick::Image.new(280, 250) {self.background_color = "none"}
12
-
13
- gc = Magick::Draw.new
14
- gc.annotate(img, 0, 0, 0, 0, "PATT\nERNS") do
15
- self.gravity = Magick::CenterGravity
16
- self.font_weight = Magick::BoldWeight
17
- self.pointsize = 100
18
- self.fill_pattern = Magick::Image.read("images/Flower_Hat.jpg").first
19
- self.stroke_width = 5
20
- self.stroke_pattern = stroke_pattern
21
- end
22
-
23
- img.write("fill_pattern.gif")
24
-
25
-
26
-
@@ -1,36 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
-
3
- # Demonstrate flatten_images method. Create an image with a drop-shadow effect.
4
-
5
- require 'RMagick'
6
-
7
- RMagick = 'RMagick'
8
-
9
- i = Magick::ImageList.new
10
-
11
- # Create a background image with a gradient fill
12
- i.new_image(200, 100, Magick::GradientFill.new(100,50, 100, 50, "khaki1", "turquoise"))
13
-
14
- # Create a transparent image for the text shadow
15
- i.new_image(200, 100) { self.background_color = 'transparent' }
16
- primitives = Magick::Draw.new
17
- primitives.annotate i, 0, 0, 2, 2, RMagick do
18
- self.pointsize = 32
19
- self.fill = "gray50"
20
- self.gravity = Magick::CenterGravity
21
- end
22
-
23
- # Create another transparent image for the text itself
24
- i.new_image(200, 100) { self.background_color = 'transparent' }
25
- primitives = Magick::Draw.new
26
- primitives.annotate i, 0, 0, -2, -2, RMagick do
27
- self.pointsize = 32
28
- self.fill = "red"
29
- self.stroke = "black"
30
- self.gravity = Magick::CenterGravity
31
- end
32
-
33
- # Flatten all 3 into a single image.
34
- # i.display
35
- i.flatten_images.write "flatten_images.gif"
36
- exit
data/doc/ex/flip.rb DELETED
@@ -1,11 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- # Demonstrate the Image#flip method
5
-
6
- img = Magick::Image.read('images/Flower_Hat.jpg').first
7
-
8
- img.flip!
9
-
10
- img.write('flip.jpg')
11
- exit
data/doc/ex/flop.rb DELETED
@@ -1,11 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- # Demonstrate the Image#flop method
5
-
6
- img = Magick::Image.read('images/Flower_Hat.jpg').first
7
-
8
- img.flop!
9
-
10
- img.write('flop.jpg')
11
- exit
@@ -1,34 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'rvg/rvg'
3
-
4
-
5
- rvg = Magick::RVG.new(200, 250) do |canvas|
6
- canvas.background_fill = 'white'
7
-
8
- canvas.g do |grp|
9
- grp.g.styles(:font_weight=>'normal', :font_style=>'normal') do |grp2|
10
- grp2.text(10, 30, "default size")
11
- grp2.text(10, 50, ":font_size=>14").styles(:font_size=>14)
12
- grp2.text(10, 70, ":font_size=>16").styles(:font_size=>16)
13
- grp2.text(10,100, ":font_size=>24").styles(:font_size=>24)
14
- end
15
- end
16
-
17
- canvas.g.styles(:font_size=>14, :font_weight=>'normal', :font_style=>'normal') do |grp|
18
- if RUBY_PLATFORM =~ /mswin32/
19
- grp.text( 8, 120, ":font_family=>'Courier-New'").styles(:font_family=>'Courier-New')
20
- else
21
- grp.text( 8, 120, ":font_family=>'Courier'").styles(:font_family=>'Courier')
22
- end
23
- grp.text(10, 140, ":font_weight=>'bold'").styles(:font_weight=>'bold')
24
- grp.text(10, 160, ":font_stretch=>'normal'").styles(:font_stretch=>'normal')
25
- grp.text(10, 180, ":font_stretch=>'condensed'").styles(:font_stretch=>'condensed')
26
- grp.text(10, 200, ":font_style=>'italic'").styles(:font_style=>'italic')
27
- grp.text(10, 220, ":font_weight=>900").styles(:font_weight=>900)
28
- end
29
-
30
- canvas.rect(199, 249).styles(:fill=>'none', :stroke=>'blue')
31
- end
32
-
33
- rvg.draw.write('font_styles.gif')
34
-
data/doc/ex/fonts.rb DELETED
@@ -1,20 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- # Compute column widths
5
- name_length = 0
6
- family_length = 0
7
- Magick::fonts { |font|
8
- if font.name.length > name_length
9
- name_length = font.name.length
10
- end
11
- if font.family.length > family_length
12
- family_length = font.family.length
13
- end
14
- }
15
-
16
- # Print all fonts
17
- Magick::fonts { |font|
18
- printf("%-*s %-*s %d %s\t%s\n", name_length, font.name,
19
- family_length, font.family, font.weight, font.style, font.stretch)
20
- }
data/doc/ex/frame.rb DELETED
@@ -1,12 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- # Demonstrate the Image#frame method
5
-
6
- img = Magick::Image.read('images/Flower_Hat.jpg').first
7
-
8
- img.matte_color="gray75"
9
- img = img.frame
10
-
11
- img.write('frame.jpg')
12
- exit
@@ -1,11 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- # Demonstrate the Image#gaussian_blur method
5
-
6
- img = Magick::Image.read('images/Flower_Hat.jpg').first
7
-
8
- img = img.gaussian_blur(0.0, 3.0)
9
-
10
- img.write('gaussian_blur.jpg')
11
- exit
@@ -1,42 +0,0 @@
1
- #! /usr/local/bin/ruby -w
2
- require 'RMagick'
3
-
4
- TEXT = 'get\nmultiline\ntype\nmetrics'
5
-
6
- background = Magick::Image.new(200, 200)
7
- gc = Magick::Draw.new
8
-
9
- # Draw the text centered on the background
10
- gc.annotate(background, 0, 0, 0, 0, TEXT) do
11
- gc.font_family = 'Verdana'
12
- gc.pointsize = 36
13
- gc.gravity = Magick::CenterGravity
14
- gc.stroke = 'none'
15
- end
16
-
17
- # Get the metrics
18
- metrics = gc.get_multiline_type_metrics(background, TEXT)
19
-
20
- # Compute the corners for a rectangle surrounding the text
21
- x = (background.columns - metrics.width) / 2
22
- y = (background.rows - metrics.height) / 2
23
-
24
- # Draw 2 rectangles over the text.
25
- gc = Magick::Draw.new
26
- gc.stroke('red')
27
- gc.stroke_width(5)
28
- gc.stroke_linejoin('round')
29
- gc.fill('cyan')
30
- gc.fill_opacity(0.10)
31
- gc.rectangle(x, y, x+metrics.width, y+metrics.height)
32
-
33
- gc.stroke('white')
34
- gc.stroke_width(1)
35
- gc.fill('none')
36
- gc.rectangle(x, y, x+metrics.width, y+metrics.height)
37
- gc.draw(background)
38
-
39
- background.border!(1,1, 'blue')
40
-
41
- background.write('get_multiline_type_metrics.gif')
42
-