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/examples/spinner.rb DELETED
@@ -1,50 +0,0 @@
1
- # Make a 32x32 animated GIF that resembles the OS X animation.
2
- # This produces a very small (~2.6Kb) GIF file.
3
-
4
- require 'RMagick'
5
-
6
- puts <<END_INFO
7
- This example creates an animated GIF that resembles the OS X "waiting" icon.
8
- You can view the GIF with the command
9
-
10
- animate spinner.gif
11
- END_INFO
12
-
13
-
14
- NFRAMES = 12 # number of frames in the animation
15
- DIM = 32 # width & height of image in pixels
16
- DELAY = 100.0 / (NFRAMES/2) # 2 rotations per second
17
-
18
- # 'frame' is a single frame in the animation.
19
- frame = Magick::Image.new(DIM, DIM) {self.background_color = 'transparent'}
20
-
21
- # 'spinner' will contain the frames that make up the animated GIF
22
- spinner = Magick::ImageList.new
23
-
24
- # 'level' is the change from darkest gray to white
25
- level = Magick::QuantumRange / 2 / NFRAMES
26
-
27
- NFRAMES.times do |x|
28
- gc = Magick::Draw.new
29
- gc.translate(DIM/2, DIM/2)
30
- gc.stroke('none')
31
- intensity = 0.58 * Magick::QuantumRange
32
- fill_color = Magick::Pixel.new(intensity, intensity, intensity).to_color
33
- gc.fill(fill_color)
34
- angle = x * (360/NFRAMES)
35
- NFRAMES.times do
36
- gc.rotate(angle)
37
- intensity = [intensity, Magick::QuantumRange].min
38
- fill_color = Magick::Pixel.new(intensity, intensity, intensity).to_color
39
- gc.fill(fill_color)
40
- gc.roundrectangle(7, -1, 15, 0, 1, 1)
41
- angle = -(360/NFRAMES)
42
- intensity += level
43
- end
44
- spinner << frame.copy
45
- gc.draw(spinner)
46
- end
47
-
48
- spinner.delay = DELAY
49
- spinner.compression = Magick::LZWCompression
50
- spinner.write('spinner.gif')
@@ -1,65 +0,0 @@
1
- require 'RMagick'
2
- include Magick
3
-
4
- puts <<END_INFO
5
-
6
- This example demonstrates how to make a thumbnail of an image.
7
- An image is resized to the target size (retaining its original
8
- aspect ratio, of course) and then "mounted" on a square background
9
- with raised edges.
10
-
11
- Usage:
12
-
13
- ruby thumbnail.rb <filename <size>>
14
-
15
- where `filename' is the name of an image file and `size' is the
16
- size of the thumbnail in pixels. The default size is 120 pixels.
17
- If you don't specify any arguments this script uses a default
18
- image.
19
-
20
- END_INFO
21
-
22
- DEFAULT_SIZE = 120
23
-
24
- case ARGV.length
25
- when 2
26
- size = ARGV[1].to_i
27
- image = ARGV[0]
28
- when 1
29
- image = ARGV[0]
30
- size = DEFAULT_SIZE
31
- else
32
- size = DEFAULT_SIZE
33
- image = "../doc/ex/images/Flower_Hat.jpg"
34
- end
35
-
36
- geom = "#{size}x#{size}"
37
-
38
- # Read the image and resize it. The `change_geometry' method
39
- # computes the new image geometry and yields to a block. The
40
- # return value of the block is the return value of the method.
41
-
42
- img = Image.read(image)[0]
43
- img.change_geometry!(geom) { |cols, rows| img.thumbnail! cols, rows }
44
-
45
- # We need a background to display the thumbnail.
46
- # Create a square, neutral gray background with raised edges.
47
- # Make this background slightly larger than the image to allow
48
- # for the raised border. A 3-pixel raised edge means that the
49
- # background needs to be 6 pixels larger in each dimension.
50
-
51
- bg = Image.new(size+6, size+6) { self.background_color = "gray75" }
52
- bg = bg.raise(3,3)
53
-
54
- # Just for the purposes of this example, display the thumbnail background on
55
- # a larger white background.
56
-
57
- white_bg = Image.new(size+50, size+50) {self.background_color = "white"}
58
- white_bg = white_bg.composite(bg, CenterGravity, OverCompositeOp)
59
-
60
- # Finally, center the thumbnail on the gray background.
61
- thumbnail = white_bg.composite(img, CenterGravity, OverCompositeOp)
62
-
63
- thumbnail.write("thumbnail.gif")
64
- exit
65
-
data/examples/vignette.rb DELETED
@@ -1,79 +0,0 @@
1
- require 'RMagick'
2
- include Magick
3
-
4
- puts <<END_INFO
5
-
6
- vi-gnette (n.) vin-'yet
7
- A picture that shades off gradually into the surrounding paper.
8
- Merriam-Webster Dictionary
9
-
10
- Vignettes are frequently used in formal portraiture and advertising
11
- images. This example creates a vignette from a picture of a ballerina.
12
- It takes a few seconds to run. Be patient.
13
-
14
- END_INFO
15
-
16
- ballerina = Image.read("../doc/ex/images/Ballerina3.jpg")[0]
17
-
18
- # Note: this technique won't work with every image. To make a pretty
19
- # vignette you need an image with a uniform, fairly dark background.
20
-
21
- # Start by drawing a white oval on a black background. (Although you don't
22
- # have to use an oval at all! Any shape will work. Try a rounded rectangle.)
23
- # The black pixels correspond to pixels in the image that will become
24
- # transparent. The white pixels correspond to pixels in the image that will
25
- # remain unchanged. Gray pixels, introduced by the blurring below, will
26
- # become more or less transparent depending on how dark or light the pixel is.
27
-
28
- # The size of the oval is arbitrary - in this case it's 90% of the
29
- # size of the image.
30
-
31
- oval = Image.new(ballerina.columns, ballerina.rows) {self.background_color = 'black'}
32
- gc = Draw.new
33
- gc.stroke('white')
34
- gc.fill('white')
35
- gc.ellipse(ballerina.columns/2, ballerina.rows/2,
36
- ballerina.columns/2-(ballerina.columns*0.10),
37
- ballerina.rows/2-(ballerina.rows*0.10), 0, 360)
38
- gc.draw(oval)
39
-
40
- # Add a lot of blurring to the oval. I use blur_image because it's much faster
41
- # than the gaussian_blur method and produces no observable difference. The
42
- # exact amount of blurring is a judgment call. The higher the 2nd argument, the
43
- # more blurring, although increasing the value above 20 doesn't seem to add any
44
- # additional blurriness.
45
-
46
- oval = oval.blur_image(0, 20)
47
-
48
- # The CopyOpacityCompositeOp transforms the opacity level of each image pixel
49
- # according to the intensity of the composite image pixels. In this case, the
50
- # black pixels outside the oval become transparent and the white pixels inside
51
- # the oval remain opaque. Each gray pixel around the border of the oval has a
52
- # varying level of transparency depending on how dark or light it is.
53
-
54
- ballerina.matte = true # Ensure the ballerina image's opacity channel is enabled.
55
- oval.matte = false # Force the CopyOpacityCompositeOp to use pixel intensity
56
- # to determine how much transparency to add to the ballerina
57
- # pixels.
58
-
59
- ballerina = ballerina.composite(oval, CenterGravity, CopyOpacityCompositeOp)
60
-
61
- # Since the vignette has multiple levels of transparency, we can't
62
- # save it as a GIF or a JPEG. The PNG format can handle it, though.
63
-
64
- begin
65
- ballerina.write("vignette.png")
66
- rescue ImageMagickError
67
- puts "Write failed. No PNG support?"
68
- # In case PNG support isn't installed, just ignore the exception.
69
- end
70
-
71
- # At this point the vignette is complete. However, the `display' method only
72
- # supports 1`level of transparency. Therefore, composite the vignette over a
73
- # standard "checkerboard" background. The resulting image will be 100% opaque.
74
-
75
- checkerboard = Image.read("pattern:checkerboard") {self.size = "#{ballerina.columns}x#{ballerina.rows}"}
76
- vignette = checkerboard[0].composite(ballerina, CenterGravity, OverCompositeOp)
77
- vignette.display
78
- exit
79
-
data/ext/RMagick/MANIFEST DELETED
@@ -1,358 +0,0 @@
1
- MANIFEST for RMagick-2.13.2 - 16:03:50 02/02/13
2
-
3
- ChangeLog
4
- Doxyfile
5
- README-Mac-OSX.txt
6
- README.html
7
- build_tarball.rake
8
- doc/.cvsignore
9
- doc/comtasks.html
10
- doc/constants.html
11
- doc/css/doc.css
12
- doc/css/popup.css
13
- doc/css/ref.css
14
- doc/draw.html
15
- doc/ex/InitialCoords.rb
16
- doc/ex/NewCoordSys.rb
17
- doc/ex/OrigCoordSys.rb
18
- doc/ex/PreserveAspectRatio.rb
19
- doc/ex/RotateScale.rb
20
- doc/ex/Skew.rb
21
- doc/ex/Use01.rb
22
- doc/ex/Use02.rb
23
- doc/ex/Use03.rb
24
- doc/ex/ViewBox.rb
25
- doc/ex/adaptive_threshold.rb
26
- doc/ex/add_noise.rb
27
- doc/ex/affine.rb
28
- doc/ex/affine_transform.rb
29
- doc/ex/arc.rb
30
- doc/ex/arcpath.rb
31
- doc/ex/arcs01.rb
32
- doc/ex/arcs02.rb
33
- doc/ex/average.rb
34
- doc/ex/axes.rb
35
- doc/ex/baseline_shift01.rb
36
- doc/ex/bilevel_channel.rb
37
- doc/ex/blur_image.rb
38
- doc/ex/border.rb
39
- doc/ex/bounding_box.rb
40
- doc/ex/cbezier1.rb
41
- doc/ex/cbezier2.rb
42
- doc/ex/cbezier3.rb
43
- doc/ex/cbezier4.rb
44
- doc/ex/cbezier5.rb
45
- doc/ex/cbezier6.rb
46
- doc/ex/channel.rb
47
- doc/ex/charcoal.rb
48
- doc/ex/chop.rb
49
- doc/ex/circle.rb
50
- doc/ex/circle01.rb
51
- doc/ex/clip_path.rb
52
- doc/ex/coalesce.rb
53
- doc/ex/color_fill_to_border.rb
54
- doc/ex/color_floodfill.rb
55
- doc/ex/color_histogram.rb
56
- doc/ex/color_reset.rb
57
- doc/ex/colorize.rb
58
- doc/ex/colors.rb
59
- doc/ex/compose_mask.rb
60
- doc/ex/composite.rb
61
- doc/ex/composite_layers.rb
62
- doc/ex/composite_tiled.rb
63
- doc/ex/contrast.rb
64
- doc/ex/crop.rb
65
- doc/ex/crop_with_gravity.rb
66
- doc/ex/cubic01.rb
67
- doc/ex/cubic02.rb
68
- doc/ex/cycle_colormap.rb
69
- doc/ex/dissolve.rb
70
- doc/ex/drawcomp.rb
71
- doc/ex/drop_shadow.rb
72
- doc/ex/edge.rb
73
- doc/ex/ellipse.rb
74
- doc/ex/ellipse01.rb
75
- doc/ex/emboss.rb
76
- doc/ex/enhance.rb
77
- doc/ex/equalize.rb
78
- doc/ex/evenodd.rb
79
- doc/ex/fill_pattern.rb
80
- doc/ex/flatten_images.rb
81
- doc/ex/flip.rb
82
- doc/ex/flop.rb
83
- doc/ex/font_styles.rb
84
- doc/ex/fonts.rb
85
- doc/ex/frame.rb
86
- doc/ex/gaussian_blur.rb
87
- doc/ex/get_multiline_type_metrics.rb
88
- doc/ex/get_pixels.rb
89
- doc/ex/get_type_metrics.rb
90
- doc/ex/gradientfill.rb
91
- doc/ex/grav.rb
92
- doc/ex/gravity.rb
93
- doc/ex/group.rb
94
- doc/ex/hatchfill.rb
95
- doc/ex/image.rb
96
- doc/ex/images/Apple.miff
97
- doc/ex/images/Ballerina.jpg
98
- doc/ex/images/Ballerina3.jpg
99
- doc/ex/images/Button_0.gif
100
- doc/ex/images/Button_1.gif
101
- doc/ex/images/Button_2.gif
102
- doc/ex/images/Button_3.gif
103
- doc/ex/images/Button_4.gif
104
- doc/ex/images/Button_5.gif
105
- doc/ex/images/Button_6.gif
106
- doc/ex/images/Button_7.gif
107
- doc/ex/images/Button_8.gif
108
- doc/ex/images/Button_9.gif
109
- doc/ex/images/Button_A.gif
110
- doc/ex/images/Button_B.gif
111
- doc/ex/images/Button_C.gif
112
- doc/ex/images/Button_D.gif
113
- doc/ex/images/Button_E.gif
114
- doc/ex/images/Button_F.gif
115
- doc/ex/images/Button_G.gif
116
- doc/ex/images/Button_H.gif
117
- doc/ex/images/Button_I.gif
118
- doc/ex/images/Button_J.gif
119
- doc/ex/images/Button_K.gif
120
- doc/ex/images/Button_L.gif
121
- doc/ex/images/Button_M.gif
122
- doc/ex/images/Button_N.gif
123
- doc/ex/images/Button_O.gif
124
- doc/ex/images/Button_P.gif
125
- doc/ex/images/Button_Q.gif
126
- doc/ex/images/Button_R.gif
127
- doc/ex/images/Button_S.gif
128
- doc/ex/images/Button_T.gif
129
- doc/ex/images/Button_U.gif
130
- doc/ex/images/Button_V.gif
131
- doc/ex/images/Button_W.gif
132
- doc/ex/images/Button_X.gif
133
- doc/ex/images/Button_Y.gif
134
- doc/ex/images/Button_Z.gif
135
- doc/ex/images/Cheetah.jpg
136
- doc/ex/images/Coffee.wmf
137
- doc/ex/images/Flower_Hat.jpg
138
- doc/ex/images/Gold_Statue.jpg
139
- doc/ex/images/Hot_Air_Balloons.jpg
140
- doc/ex/images/Hot_Air_Balloons_H.jpg
141
- doc/ex/images/Leaf.miff
142
- doc/ex/images/No.wmf
143
- doc/ex/images/Polynesia.jpg
144
- doc/ex/images/Red_Rocks.jpg
145
- doc/ex/images/Rocks_On_Beach.miff
146
- doc/ex/images/Shorts.jpg
147
- doc/ex/images/Snake.wmf
148
- doc/ex/images/Violin.jpg
149
- doc/ex/images/Yellow_Rose.miff
150
- doc/ex/images/big-duck.gif
151
- doc/ex/images/duck.gif
152
- doc/ex/images/duck0.gif
153
- doc/ex/images/duck1.gif
154
- doc/ex/images/duck10.gif
155
- doc/ex/images/duck11.gif
156
- doc/ex/images/duck12.gif
157
- doc/ex/images/duck13.gif
158
- doc/ex/images/duck14.gif
159
- doc/ex/images/duck15.gif
160
- doc/ex/images/duck2.gif
161
- doc/ex/images/duck3.gif
162
- doc/ex/images/duck4.gif
163
- doc/ex/images/duck5.gif
164
- doc/ex/images/duck6.gif
165
- doc/ex/images/duck7.gif
166
- doc/ex/images/duck8.gif
167
- doc/ex/images/duck9.gif
168
- doc/ex/images/graydient230x6.gif
169
- doc/ex/images/logo400x83.gif
170
- doc/ex/images/model.miff
171
- doc/ex/images/notimplemented.gif
172
- doc/ex/images/smile.miff
173
- doc/ex/images/spin.gif
174
- doc/ex/implode.rb
175
- doc/ex/level.rb
176
- doc/ex/level_colors.rb
177
- doc/ex/line.rb
178
- doc/ex/line01.rb
179
- doc/ex/mask.rb
180
- doc/ex/matte_fill_to_border.rb
181
- doc/ex/matte_floodfill.rb
182
- doc/ex/matte_replace.rb
183
- doc/ex/median_filter.rb
184
- doc/ex/modulate.rb
185
- doc/ex/mono.rb
186
- doc/ex/morph.rb
187
- doc/ex/mosaic.rb
188
- doc/ex/motion_blur.rb
189
- doc/ex/negate.rb
190
- doc/ex/negate_channel.rb
191
- doc/ex/nested_rvg.rb
192
- doc/ex/nonzero.rb
193
- doc/ex/normalize.rb
194
- doc/ex/oil_paint.rb
195
- doc/ex/opacity.rb
196
- doc/ex/ordered_dither.rb
197
- doc/ex/path.rb
198
- doc/ex/pattern1.rb
199
- doc/ex/pattern2.rb
200
- doc/ex/polaroid.rb
201
- doc/ex/polygon.rb
202
- doc/ex/polygon01.rb
203
- doc/ex/polyline.rb
204
- doc/ex/polyline01.rb
205
- doc/ex/posterize.rb
206
- doc/ex/preview.rb
207
- doc/ex/qbezierpath.rb
208
- doc/ex/quad01.rb
209
- doc/ex/quantize-m.rb
210
- doc/ex/radial_blur.rb
211
- doc/ex/raise.rb
212
- doc/ex/random_threshold_channel.rb
213
- doc/ex/rect01.rb
214
- doc/ex/rect02.rb
215
- doc/ex/rectangle.rb
216
- doc/ex/reduce_noise.rb
217
- doc/ex/remap.rb
218
- doc/ex/remap_images.rb
219
- doc/ex/resize_to_fill.rb
220
- doc/ex/resize_to_fit.rb
221
- doc/ex/roll.rb
222
- doc/ex/rotate.rb
223
- doc/ex/rotate_f.rb
224
- doc/ex/roundrect.rb
225
- doc/ex/rubyname.rb
226
- doc/ex/rvg_clippath.rb
227
- doc/ex/rvg_linecap.rb
228
- doc/ex/rvg_linejoin.rb
229
- doc/ex/rvg_opacity.rb
230
- doc/ex/rvg_pattern.rb
231
- doc/ex/rvg_stroke_dasharray.rb
232
- doc/ex/segment.rb
233
- doc/ex/sepiatone.rb
234
- doc/ex/shade.rb
235
- doc/ex/shadow.rb
236
- doc/ex/shave.rb
237
- doc/ex/shear.rb
238
- doc/ex/sketch.rb
239
- doc/ex/skewx.rb
240
- doc/ex/skewy.rb
241
- doc/ex/smile.rb
242
- doc/ex/solarize.rb
243
- doc/ex/sparse_color.rb
244
- doc/ex/splice.rb
245
- doc/ex/spread.rb
246
- doc/ex/stegano.rb
247
- doc/ex/stroke_dasharray.rb
248
- doc/ex/stroke_fill.rb
249
- doc/ex/stroke_linecap.rb
250
- doc/ex/stroke_linejoin.rb
251
- doc/ex/stroke_width.rb
252
- doc/ex/swirl.rb
253
- doc/ex/text.rb
254
- doc/ex/text01.rb
255
- doc/ex/text_align.rb
256
- doc/ex/text_antialias.rb
257
- doc/ex/text_styles.rb
258
- doc/ex/text_undercolor.rb
259
- doc/ex/texture_fill_to_border.rb
260
- doc/ex/texture_floodfill.rb
261
- doc/ex/texturefill.rb
262
- doc/ex/threshold.rb
263
- doc/ex/to_blob.rb
264
- doc/ex/translate.rb
265
- doc/ex/transparent.rb
266
- doc/ex/transpose.rb
267
- doc/ex/transverse.rb
268
- doc/ex/tref01.rb
269
- doc/ex/triangle01.rb
270
- doc/ex/trim.rb
271
- doc/ex/tspan01.rb
272
- doc/ex/tspan02.rb
273
- doc/ex/tspan03.rb
274
- doc/ex/unsharp_mask.rb
275
- doc/ex/viewex.rb
276
- doc/ex/vignette.rb
277
- doc/ex/watermark.rb
278
- doc/ex/wave.rb
279
- doc/ex/wet_floor.rb
280
- doc/ex/writing_mode01.rb
281
- doc/ex/writing_mode02.rb
282
- doc/ilist.html
283
- doc/image1.html
284
- doc/image2.html
285
- doc/image3.html
286
- doc/imageattrs.html
287
- doc/imusage.html
288
- doc/index.html
289
- doc/info.html
290
- doc/magick.html
291
- doc/optequiv.html
292
- doc/rvg.html
293
- doc/rvgclip.html
294
- doc/rvggroup.html
295
- doc/rvgimage.html
296
- doc/rvgpattern.html
297
- doc/rvgshape.html
298
- doc/rvgstyle.html
299
- doc/rvgtext.html
300
- doc/rvgtspan.html
301
- doc/rvgtut.html
302
- doc/rvguse.html
303
- doc/rvgxform.html
304
- doc/scripts/doc.js
305
- doc/scripts/stripeTables.js
306
- doc/struct.html
307
- doc/usage.html
308
- examples/constitute.rb
309
- examples/crop_with_gravity.rb
310
- examples/demo.rb
311
- examples/describe.rb
312
- examples/find_similar_region.rb
313
- examples/histogram.rb
314
- examples/identify.rb
315
- examples/image_opacity.rb
316
- examples/import_export.rb
317
- examples/pattern_fill.rb
318
- examples/rotating_text.rb
319
- examples/spinner.rb
320
- examples/thumbnail.rb
321
- examples/vignette.rb
322
- ext/RMagick/MANIFEST
323
- ext/RMagick/extconf.rb
324
- ext/RMagick/rmagick.c
325
- ext/RMagick/rmagick.h
326
- ext/RMagick/rmdraw.c
327
- ext/RMagick/rmenum.c
328
- ext/RMagick/rmfill.c
329
- ext/RMagick/rmilist.c
330
- ext/RMagick/rmimage.c
331
- ext/RMagick/rminfo.c
332
- ext/RMagick/rmmain.c
333
- ext/RMagick/rmmontage.c
334
- ext/RMagick/rmpixel.c
335
- ext/RMagick/rmstruct.c
336
- ext/RMagick/rmutil.c
337
- lib/RMagick.rb
338
- lib/rvg/clippath.rb
339
- lib/rvg/container.rb
340
- lib/rvg/deep_equal.rb
341
- lib/rvg/describable.rb
342
- lib/rvg/embellishable.rb
343
- lib/rvg/misc.rb
344
- lib/rvg/paint.rb
345
- lib/rvg/pathdata.rb
346
- lib/rvg/rvg.rb
347
- lib/rvg/stretchable.rb
348
- lib/rvg/stylable.rb
349
- lib/rvg/text.rb
350
- lib/rvg/transformable.rb
351
- lib/rvg/units.rb
352
- metaconfig
353
- post-clean.rb
354
- post-install.rb
355
- post-setup.rb
356
- rmagick.gemspec
357
- setup.rb
358
- uninstall.rb