rmagick 2.16.0 → 5.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (441) hide show
  1. checksums.yaml +5 -5
  2. data/.devcontainer/Dockerfile +14 -0
  3. data/.devcontainer/ImageMagick6/devcontainer.json +11 -0
  4. data/.devcontainer/devcontainer.json +11 -0
  5. data/.devcontainer/setup-repo.sh +10 -0
  6. data/.devcontainer/setup-user.sh +45 -0
  7. data/.editorconfig +3 -0
  8. data/.github/ISSUE_TEMPLATE.md +17 -0
  9. data/.github/workflows/ci.yml +157 -0
  10. data/.gitignore +9 -1
  11. data/.rspec +1 -0
  12. data/.rubocop.yml +37 -340
  13. data/.rubocop_todo.yml +456 -0
  14. data/.yardopts +5 -0
  15. data/CHANGELOG.md +536 -0
  16. data/CODE_OF_CONDUCT.md +122 -7
  17. data/CONTRIBUTING.md +37 -6
  18. data/Gemfile +18 -4
  19. data/README.md +319 -0
  20. data/Rakefile +83 -98
  21. data/before_install_linux.sh +65 -28
  22. data/before_install_osx.sh +58 -2
  23. data/ext/RMagick/extconf.rb +310 -393
  24. data/ext/RMagick/{rmagick.c → rmagick.cpp} +119 -127
  25. data/ext/RMagick/rmagick.h +290 -363
  26. data/ext/RMagick/rmagick_gvl.h +224 -0
  27. data/ext/RMagick/rmdraw.cpp +1696 -0
  28. data/ext/RMagick/rmenum.cpp +796 -0
  29. data/ext/RMagick/{rmfill.c → rmfill.cpp} +287 -197
  30. data/ext/RMagick/rmilist.cpp +1275 -0
  31. data/ext/RMagick/rmimage.cpp +16459 -0
  32. data/ext/RMagick/{rminfo.c → rminfo.cpp} +738 -910
  33. data/ext/RMagick/rmkinfo.cpp +210 -0
  34. data/ext/RMagick/rmmain.cpp +1923 -0
  35. data/ext/RMagick/rmmontage.cpp +474 -0
  36. data/ext/RMagick/rmpixel.cpp +1322 -0
  37. data/ext/RMagick/{rmstruct.c → rmstruct.cpp} +104 -284
  38. data/ext/RMagick/{rmutil.c → rmutil.cpp} +500 -433
  39. data/lib/rmagick/version.rb +5 -4
  40. data/lib/rmagick.rb +2 -0
  41. data/lib/rmagick_internal.rb +397 -459
  42. data/lib/rvg/clippath.rb +3 -4
  43. data/lib/rvg/container.rb +30 -22
  44. data/lib/rvg/deep_equal.rb +11 -11
  45. data/lib/rvg/describable.rb +2 -2
  46. data/lib/rvg/embellishable.rb +67 -68
  47. data/lib/rvg/misc.rb +139 -142
  48. data/lib/rvg/paint.rb +2 -1
  49. data/lib/rvg/pathdata.rb +7 -8
  50. data/lib/rvg/rvg.rb +49 -46
  51. data/lib/rvg/stretchable.rb +22 -28
  52. data/lib/rvg/stylable.rb +12 -10
  53. data/lib/rvg/text.rb +169 -165
  54. data/lib/rvg/transformable.rb +17 -16
  55. data/lib/rvg/units.rb +5 -5
  56. data/rmagick.gemspec +7 -41
  57. data/sig/rmagick/_draw_common_methods.rbs +64 -0
  58. data/sig/rmagick/_image_common_methods.rbs +389 -0
  59. data/sig/rmagick/draw.rbs +38 -0
  60. data/sig/rmagick/draw_attribute.rbs +28 -0
  61. data/sig/rmagick/enum.rbs +814 -0
  62. data/sig/rmagick/error.rbs +11 -0
  63. data/sig/rmagick/fill.rbs +21 -0
  64. data/sig/rmagick/geometry.rbs +14 -0
  65. data/sig/rmagick/image.rbs +194 -0
  66. data/sig/rmagick/image_list.rbs +181 -0
  67. data/sig/rmagick/iptc.rbs +101 -0
  68. data/sig/rmagick/kernel_info.rbs +12 -0
  69. data/sig/rmagick/optional_method_arguments.rbs +10 -0
  70. data/sig/rmagick/pixel.rbs +46 -0
  71. data/sig/rmagick/struct.rbs +90 -0
  72. data/sig/rmagick.rbs +43 -0
  73. data/sig/rvg/clippath.rbs +34 -0
  74. data/sig/rvg/container.rbs +78 -0
  75. data/sig/rvg/deep_equal.rbs +48 -0
  76. data/sig/rvg/describable.rbs +30 -0
  77. data/sig/rvg/embellishable.rbs +226 -0
  78. data/sig/rvg/misc.rbs +145 -0
  79. data/sig/rvg/paint.rbs +55 -0
  80. data/sig/rvg/pathdata.rbs +77 -0
  81. data/sig/rvg/rvg.rbs +125 -0
  82. data/sig/rvg/stretchable.rbs +56 -0
  83. data/sig/rvg/stylable.rbs +66 -0
  84. data/sig/rvg/text.rbs +118 -0
  85. data/sig/rvg/transformable.rbs +59 -0
  86. data/sig/rvg/units.rbs +33 -0
  87. metadata +68 -428
  88. data/.hound.yml +0 -2
  89. data/.simplecov +0 -27
  90. data/.travis.yml +0 -74
  91. data/Doxyfile +0 -1514
  92. data/README.textile +0 -251
  93. data/deprecated/RMagick.rb +0 -6
  94. data/doc/.cvsignore +0 -1
  95. data/doc/comtasks.html +0 -287
  96. data/doc/constants.html +0 -1581
  97. data/doc/css/doc.css +0 -299
  98. data/doc/css/popup.css +0 -34
  99. data/doc/css/ref.css +0 -67
  100. data/doc/draw.html +0 -3272
  101. data/doc/ex/InitialCoords.rb +0 -22
  102. data/doc/ex/NewCoordSys.rb +0 -30
  103. data/doc/ex/OrigCoordSys.rb +0 -16
  104. data/doc/ex/PreserveAspectRatio.rb +0 -204
  105. data/doc/ex/RotateScale.rb +0 -36
  106. data/doc/ex/Skew.rb +0 -38
  107. data/doc/ex/Use01.rb +0 -15
  108. data/doc/ex/Use02.rb +0 -20
  109. data/doc/ex/Use03.rb +0 -16
  110. data/doc/ex/ViewBox.rb +0 -31
  111. data/doc/ex/adaptive_threshold.rb +0 -9
  112. data/doc/ex/add_noise.rb +0 -16
  113. data/doc/ex/affine.rb +0 -48
  114. data/doc/ex/affine_transform.rb +0 -20
  115. data/doc/ex/arc.rb +0 -49
  116. data/doc/ex/arcpath.rb +0 -32
  117. data/doc/ex/arcs01.rb +0 -28
  118. data/doc/ex/arcs02.rb +0 -59
  119. data/doc/ex/average.rb +0 -15
  120. data/doc/ex/axes.rb +0 -64
  121. data/doc/ex/baseline_shift01.rb +0 -17
  122. data/doc/ex/bilevel_channel.rb +0 -8
  123. data/doc/ex/blur_image.rb +0 -12
  124. data/doc/ex/border.rb +0 -10
  125. data/doc/ex/bounding_box.rb +0 -42
  126. data/doc/ex/cbezier1.rb +0 -41
  127. data/doc/ex/cbezier2.rb +0 -41
  128. data/doc/ex/cbezier3.rb +0 -41
  129. data/doc/ex/cbezier4.rb +0 -42
  130. data/doc/ex/cbezier5.rb +0 -42
  131. data/doc/ex/cbezier6.rb +0 -53
  132. data/doc/ex/channel.rb +0 -25
  133. data/doc/ex/charcoal.rb +0 -12
  134. data/doc/ex/chop.rb +0 -29
  135. data/doc/ex/circle.rb +0 -33
  136. data/doc/ex/circle01.rb +0 -16
  137. data/doc/ex/clip_path.rb +0 -60
  138. data/doc/ex/coalesce.rb +0 -57
  139. data/doc/ex/color_fill_to_border.rb +0 -29
  140. data/doc/ex/color_floodfill.rb +0 -28
  141. data/doc/ex/color_histogram.rb +0 -47
  142. data/doc/ex/color_reset.rb +0 -11
  143. data/doc/ex/colorize.rb +0 -16
  144. data/doc/ex/colors.rb +0 -64
  145. data/doc/ex/compose_mask.rb +0 -22
  146. data/doc/ex/composite.rb +0 -133
  147. data/doc/ex/composite_layers.rb +0 -53
  148. data/doc/ex/composite_tiled.rb +0 -21
  149. data/doc/ex/contrast.rb +0 -36
  150. data/doc/ex/crop.rb +0 -31
  151. data/doc/ex/crop_with_gravity.rb +0 -42
  152. data/doc/ex/cubic01.rb +0 -43
  153. data/doc/ex/cubic02.rb +0 -91
  154. data/doc/ex/cycle_colormap.rb +0 -21
  155. data/doc/ex/dissolve.rb +0 -12
  156. data/doc/ex/drawcomp.rb +0 -42
  157. data/doc/ex/drop_shadow.rb +0 -60
  158. data/doc/ex/edge.rb +0 -11
  159. data/doc/ex/ellipse.rb +0 -45
  160. data/doc/ex/ellipse01.rb +0 -21
  161. data/doc/ex/emboss.rb +0 -11
  162. data/doc/ex/enhance.rb +0 -28
  163. data/doc/ex/equalize.rb +0 -11
  164. data/doc/ex/evenodd.rb +0 -42
  165. data/doc/ex/fill_pattern.rb +0 -23
  166. data/doc/ex/flatten_images.rb +0 -36
  167. data/doc/ex/flip.rb +0 -11
  168. data/doc/ex/flop.rb +0 -11
  169. data/doc/ex/font_styles.rb +0 -32
  170. data/doc/ex/fonts.rb +0 -20
  171. data/doc/ex/frame.rb +0 -12
  172. data/doc/ex/gaussian_blur.rb +0 -11
  173. data/doc/ex/get_multiline_type_metrics.rb +0 -41
  174. data/doc/ex/get_pixels.rb +0 -47
  175. data/doc/ex/get_type_metrics.rb +0 -141
  176. data/doc/ex/gradientfill.rb +0 -27
  177. data/doc/ex/grav.rb +0 -45
  178. data/doc/ex/gravity.rb +0 -80
  179. data/doc/ex/group.rb +0 -26
  180. data/doc/ex/hatchfill.rb +0 -27
  181. data/doc/ex/image.rb +0 -44
  182. data/doc/ex/images/Apple.miff +0 -0
  183. data/doc/ex/images/Ballerina.jpg +0 -0
  184. data/doc/ex/images/Ballerina3.jpg +0 -0
  185. data/doc/ex/images/Button_0.gif +0 -0
  186. data/doc/ex/images/Button_1.gif +0 -0
  187. data/doc/ex/images/Button_2.gif +0 -0
  188. data/doc/ex/images/Button_3.gif +0 -0
  189. data/doc/ex/images/Button_4.gif +0 -0
  190. data/doc/ex/images/Button_5.gif +0 -0
  191. data/doc/ex/images/Button_6.gif +0 -0
  192. data/doc/ex/images/Button_7.gif +0 -0
  193. data/doc/ex/images/Button_8.gif +0 -0
  194. data/doc/ex/images/Button_9.gif +0 -0
  195. data/doc/ex/images/Button_A.gif +0 -0
  196. data/doc/ex/images/Button_B.gif +0 -0
  197. data/doc/ex/images/Button_C.gif +0 -0
  198. data/doc/ex/images/Button_D.gif +0 -0
  199. data/doc/ex/images/Button_E.gif +0 -0
  200. data/doc/ex/images/Button_F.gif +0 -0
  201. data/doc/ex/images/Button_G.gif +0 -0
  202. data/doc/ex/images/Button_H.gif +0 -0
  203. data/doc/ex/images/Button_I.gif +0 -0
  204. data/doc/ex/images/Button_J.gif +0 -0
  205. data/doc/ex/images/Button_K.gif +0 -0
  206. data/doc/ex/images/Button_L.gif +0 -0
  207. data/doc/ex/images/Button_M.gif +0 -0
  208. data/doc/ex/images/Button_N.gif +0 -0
  209. data/doc/ex/images/Button_O.gif +0 -0
  210. data/doc/ex/images/Button_P.gif +0 -0
  211. data/doc/ex/images/Button_Q.gif +0 -0
  212. data/doc/ex/images/Button_R.gif +0 -0
  213. data/doc/ex/images/Button_S.gif +0 -0
  214. data/doc/ex/images/Button_T.gif +0 -0
  215. data/doc/ex/images/Button_U.gif +0 -0
  216. data/doc/ex/images/Button_V.gif +0 -0
  217. data/doc/ex/images/Button_W.gif +0 -0
  218. data/doc/ex/images/Button_X.gif +0 -0
  219. data/doc/ex/images/Button_Y.gif +0 -0
  220. data/doc/ex/images/Button_Z.gif +0 -0
  221. data/doc/ex/images/Cheetah.jpg +0 -0
  222. data/doc/ex/images/Coffee.wmf +0 -0
  223. data/doc/ex/images/Flower_Hat.jpg +0 -0
  224. data/doc/ex/images/Gold_Statue.jpg +0 -0
  225. data/doc/ex/images/Hot_Air_Balloons.jpg +0 -0
  226. data/doc/ex/images/Hot_Air_Balloons_H.jpg +0 -0
  227. data/doc/ex/images/Leaf.miff +0 -0
  228. data/doc/ex/images/No.wmf +0 -0
  229. data/doc/ex/images/Polynesia.jpg +0 -0
  230. data/doc/ex/images/Red_Rocks.jpg +0 -0
  231. data/doc/ex/images/Rocks_On_Beach.miff +0 -0
  232. data/doc/ex/images/Shorts.jpg +0 -0
  233. data/doc/ex/images/Snake.wmf +0 -0
  234. data/doc/ex/images/Violin.jpg +0 -0
  235. data/doc/ex/images/Yellow_Rose.miff +0 -0
  236. data/doc/ex/images/big-duck.gif +0 -0
  237. data/doc/ex/images/duck.gif +0 -0
  238. data/doc/ex/images/duck0.gif +0 -0
  239. data/doc/ex/images/duck1.gif +0 -0
  240. data/doc/ex/images/duck10.gif +0 -0
  241. data/doc/ex/images/duck11.gif +0 -0
  242. data/doc/ex/images/duck12.gif +0 -0
  243. data/doc/ex/images/duck13.gif +0 -0
  244. data/doc/ex/images/duck14.gif +0 -0
  245. data/doc/ex/images/duck15.gif +0 -0
  246. data/doc/ex/images/duck2.gif +0 -0
  247. data/doc/ex/images/duck3.gif +0 -0
  248. data/doc/ex/images/duck4.gif +0 -0
  249. data/doc/ex/images/duck5.gif +0 -0
  250. data/doc/ex/images/duck6.gif +0 -0
  251. data/doc/ex/images/duck7.gif +0 -0
  252. data/doc/ex/images/duck8.gif +0 -0
  253. data/doc/ex/images/duck9.gif +0 -0
  254. data/doc/ex/images/graydient230x6.gif +0 -0
  255. data/doc/ex/images/image_with_profile.jpg +0 -0
  256. data/doc/ex/images/logo400x83.gif +0 -0
  257. data/doc/ex/images/model.miff +0 -0
  258. data/doc/ex/images/notimplemented.gif +0 -0
  259. data/doc/ex/images/smile.miff +0 -0
  260. data/doc/ex/images/spin.gif +0 -0
  261. data/doc/ex/implode.rb +0 -34
  262. data/doc/ex/level.rb +0 -11
  263. data/doc/ex/level_colors.rb +0 -11
  264. data/doc/ex/line.rb +0 -41
  265. data/doc/ex/line01.rb +0 -21
  266. data/doc/ex/mask.rb +0 -35
  267. data/doc/ex/matte_fill_to_border.rb +0 -39
  268. data/doc/ex/matte_floodfill.rb +0 -32
  269. data/doc/ex/matte_replace.rb +0 -39
  270. data/doc/ex/median_filter.rb +0 -28
  271. data/doc/ex/modulate.rb +0 -11
  272. data/doc/ex/mono.rb +0 -23
  273. data/doc/ex/morph.rb +0 -25
  274. data/doc/ex/mosaic.rb +0 -35
  275. data/doc/ex/motion_blur.rb +0 -11
  276. data/doc/ex/negate.rb +0 -11
  277. data/doc/ex/negate_channel.rb +0 -9
  278. data/doc/ex/nested_rvg.rb +0 -21
  279. data/doc/ex/nonzero.rb +0 -42
  280. data/doc/ex/normalize.rb +0 -11
  281. data/doc/ex/oil_paint.rb +0 -11
  282. data/doc/ex/opacity.rb +0 -37
  283. data/doc/ex/ordered_dither.rb +0 -11
  284. data/doc/ex/path.rb +0 -63
  285. data/doc/ex/pattern1.rb +0 -25
  286. data/doc/ex/pattern2.rb +0 -26
  287. data/doc/ex/polaroid.rb +0 -27
  288. data/doc/ex/polygon.rb +0 -23
  289. data/doc/ex/polygon01.rb +0 -21
  290. data/doc/ex/polyline.rb +0 -22
  291. data/doc/ex/polyline01.rb +0 -21
  292. data/doc/ex/posterize.rb +0 -8
  293. data/doc/ex/preview.rb +0 -8
  294. data/doc/ex/qbezierpath.rb +0 -52
  295. data/doc/ex/quad01.rb +0 -34
  296. data/doc/ex/quantize-m.rb +0 -25
  297. data/doc/ex/radial_blur.rb +0 -9
  298. data/doc/ex/raise.rb +0 -8
  299. data/doc/ex/random_threshold_channel.rb +0 -13
  300. data/doc/ex/rect01.rb +0 -14
  301. data/doc/ex/rect02.rb +0 -20
  302. data/doc/ex/rectangle.rb +0 -34
  303. data/doc/ex/reduce_noise.rb +0 -28
  304. data/doc/ex/remap.rb +0 -11
  305. data/doc/ex/remap_images.rb +0 -19
  306. data/doc/ex/resize_to_fill.rb +0 -8
  307. data/doc/ex/resize_to_fit.rb +0 -8
  308. data/doc/ex/roll.rb +0 -9
  309. data/doc/ex/rotate.rb +0 -44
  310. data/doc/ex/rotate_f.rb +0 -14
  311. data/doc/ex/roundrect.rb +0 -33
  312. data/doc/ex/rubyname.rb +0 -30
  313. data/doc/ex/rvg_clippath.rb +0 -12
  314. data/doc/ex/rvg_linecap.rb +0 -42
  315. data/doc/ex/rvg_linejoin.rb +0 -40
  316. data/doc/ex/rvg_opacity.rb +0 -18
  317. data/doc/ex/rvg_pattern.rb +0 -26
  318. data/doc/ex/rvg_stroke_dasharray.rb +0 -11
  319. data/doc/ex/segment.rb +0 -11
  320. data/doc/ex/sepiatone.rb +0 -7
  321. data/doc/ex/shade.rb +0 -11
  322. data/doc/ex/shadow.rb +0 -30
  323. data/doc/ex/shave.rb +0 -15
  324. data/doc/ex/shear.rb +0 -10
  325. data/doc/ex/sketch.rb +0 -17
  326. data/doc/ex/skewx.rb +0 -51
  327. data/doc/ex/skewy.rb +0 -47
  328. data/doc/ex/smile.rb +0 -125
  329. data/doc/ex/solarize.rb +0 -11
  330. data/doc/ex/sparse_color.rb +0 -54
  331. data/doc/ex/splice.rb +0 -8
  332. data/doc/ex/spread.rb +0 -11
  333. data/doc/ex/stegano.rb +0 -55
  334. data/doc/ex/stroke_dasharray.rb +0 -42
  335. data/doc/ex/stroke_fill.rb +0 -10
  336. data/doc/ex/stroke_linecap.rb +0 -44
  337. data/doc/ex/stroke_linejoin.rb +0 -48
  338. data/doc/ex/stroke_width.rb +0 -49
  339. data/doc/ex/swirl.rb +0 -17
  340. data/doc/ex/text.rb +0 -37
  341. data/doc/ex/text01.rb +0 -16
  342. data/doc/ex/text_align.rb +0 -36
  343. data/doc/ex/text_antialias.rb +0 -37
  344. data/doc/ex/text_styles.rb +0 -19
  345. data/doc/ex/text_undercolor.rb +0 -28
  346. data/doc/ex/texture_fill_to_border.rb +0 -34
  347. data/doc/ex/texture_floodfill.rb +0 -32
  348. data/doc/ex/texturefill.rb +0 -24
  349. data/doc/ex/threshold.rb +0 -13
  350. data/doc/ex/to_blob.rb +0 -13
  351. data/doc/ex/translate.rb +0 -39
  352. data/doc/ex/transparent.rb +0 -38
  353. data/doc/ex/transpose.rb +0 -9
  354. data/doc/ex/transverse.rb +0 -9
  355. data/doc/ex/tref01.rb +0 -24
  356. data/doc/ex/triangle01.rb +0 -15
  357. data/doc/ex/trim.rb +0 -23
  358. data/doc/ex/tspan01.rb +0 -17
  359. data/doc/ex/tspan02.rb +0 -17
  360. data/doc/ex/tspan03.rb +0 -19
  361. data/doc/ex/unsharp_mask.rb +0 -28
  362. data/doc/ex/viewex.rb +0 -33
  363. data/doc/ex/vignette.rb +0 -12
  364. data/doc/ex/watermark.rb +0 -27
  365. data/doc/ex/wave.rb +0 -9
  366. data/doc/ex/wet_floor.rb +0 -58
  367. data/doc/ex/writing_mode01.rb +0 -26
  368. data/doc/ex/writing_mode02.rb +0 -26
  369. data/doc/ilist.html +0 -2056
  370. data/doc/image1.html +0 -4680
  371. data/doc/image2.html +0 -3665
  372. data/doc/image3.html +0 -4522
  373. data/doc/imageattrs.html +0 -1638
  374. data/doc/imusage.html +0 -514
  375. data/doc/index.html +0 -416
  376. data/doc/info.html +0 -1499
  377. data/doc/magick.html +0 -565
  378. data/doc/optequiv.html +0 -2435
  379. data/doc/rvg.html +0 -975
  380. data/doc/rvgclip.html +0 -248
  381. data/doc/rvggroup.html +0 -305
  382. data/doc/rvgimage.html +0 -289
  383. data/doc/rvgpattern.html +0 -475
  384. data/doc/rvgshape.html +0 -406
  385. data/doc/rvgstyle.html +0 -270
  386. data/doc/rvgtext.html +0 -465
  387. data/doc/rvgtspan.html +0 -238
  388. data/doc/rvgtut.html +0 -530
  389. data/doc/rvguse.html +0 -145
  390. data/doc/rvgxform.html +0 -294
  391. data/doc/scripts/doc.js +0 -22
  392. data/doc/scripts/stripeTables.js +0 -23
  393. data/doc/struct.html +0 -1339
  394. data/doc/usage.html +0 -1621
  395. data/examples/constitute.rb +0 -7
  396. data/examples/crop_with_gravity.rb +0 -42
  397. data/examples/demo.rb +0 -324
  398. data/examples/describe.rb +0 -43
  399. data/examples/find_similar_region.rb +0 -34
  400. data/examples/histogram.rb +0 -321
  401. data/examples/identify.rb +0 -185
  402. data/examples/image_opacity.rb +0 -29
  403. data/examples/import_export.rb +0 -31
  404. data/examples/pattern_fill.rb +0 -38
  405. data/examples/rotating_text.rb +0 -44
  406. data/examples/spinner.rb +0 -49
  407. data/examples/thumbnail.rb +0 -64
  408. data/examples/vignette.rb +0 -78
  409. data/ext/RMagick/rmdraw.c +0 -2022
  410. data/ext/RMagick/rmenum.c +0 -1235
  411. data/ext/RMagick/rmilist.c +0 -1270
  412. data/ext/RMagick/rmimage.c +0 -15427
  413. data/ext/RMagick/rmmain.c +0 -1741
  414. data/ext/RMagick/rmmontage.c +0 -519
  415. data/ext/RMagick/rmpixel.c +0 -1114
  416. data/spec/rmagick/ImageList1_spec.rb +0 -24
  417. data/spec/rmagick/draw_spec.rb +0 -156
  418. data/spec/rmagick/image/blue_shift_spec.rb +0 -16
  419. data/spec/rmagick/image/composite_spec.rb +0 -140
  420. data/spec/rmagick/image/constitute_spec.rb +0 -15
  421. data/spec/rmagick/image/dispatch_spec.rb +0 -18
  422. data/spec/rmagick/image/from_blob_spec.rb +0 -14
  423. data/spec/rmagick/image/ping_spec.rb +0 -14
  424. data/spec/rmagick/image/properties_spec.rb +0 -29
  425. data/spec/spec_helper.rb +0 -4
  426. data/test/Image1.rb +0 -565
  427. data/test/Image2.rb +0 -1304
  428. data/test/Image3.rb +0 -1030
  429. data/test/ImageList1.rb +0 -806
  430. data/test/ImageList2.rb +0 -385
  431. data/test/Image_attributes.rb +0 -697
  432. data/test/Import_Export.rb +0 -121
  433. data/test/Info.rb +0 -345
  434. data/test/Magick.rb +0 -321
  435. data/test/Pixel.rb +0 -116
  436. data/test/Preview.rb +0 -57
  437. data/test/cmyk.icm +0 -0
  438. data/test/srgb.icm +0 -0
  439. data/test/test_all_basic.rb +0 -38
  440. data/test/tmpnam_test.rb +0 -50
  441. data/wercker.yml +0 -10
@@ -1,141 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
- require 'rmagick'
3
-
4
- # Add a method for drawing braces.
5
- module Magick
6
- class Draw
7
- # (w,h) - width & height of rectangle enclosing brace.
8
- # Normally the brace is drawn with its opening to the
9
- # left and its lower point on the origin.
10
- #
11
- # Set w < 0 to draw right-opening brace. Set h < 0 to
12
- # position top point at origin.
13
- #
14
- # The placement & orientation is affected by the
15
- # current user coordinate system.
16
- def brace(w, h)
17
- fail(ArgumentError, 'width must be != 0') unless w != 0
18
- fail(ArgumentError, 'height must be != 0') unless h != 0
19
- path("M0,0 Q#{w},0 #{w/2.0},#{-h/4.0} T#{w},#{-h/2.0}" \
20
- "Q0,#{-h/2.0} #{w/2.0},#{-(3.0*h/4.0)} T0,#{-h}")
21
- end
22
- end
23
- end
24
-
25
- Origin_x = 110
26
- Origin_y = 230
27
- Glyph = 'g'
28
- Face = RUBY_PLATFORM =~ /mswin/ ? 'Verdana' : 'Times'
29
-
30
- canvas = Magick::Image.new(410, 320, Magick::HatchFill.new('white', 'lightcyan2'))
31
-
32
- # Draw a big lowercase 'g' on the canvas. Leave room on all sides for
33
- # the labels. Use 'undercolor' to set off the glyph.
34
- glyph = Magick::Draw.new
35
- glyph.annotate(canvas, 0, 0, Origin_x, Origin_y, Glyph) do
36
- glyph.pointsize = 124
37
- glyph.stroke = 'none'
38
- glyph.fill = 'black'
39
- glyph.font_family = Face
40
- glyph.undercolor = '#ffff00c0'
41
- end
42
-
43
- # Call get_type_metrics. This is what this example's all about.
44
- metrics = glyph.get_type_metrics(canvas, Glyph)
45
-
46
- gc = Magick::Draw.new
47
- gc.translate(Origin_x, Origin_y)
48
-
49
- # Draw the origin as a big red dot.
50
- gc.stroke('red')
51
- gc.fill('red')
52
- gc.circle(0, 0, 0, 2)
53
-
54
- # All our lines will be medium-gray, dashed, and thin.
55
- gc.stroke('gray50')
56
- gc.stroke_dasharray(5,2)
57
- gc.stroke_width(1)
58
- gc.fill('none')
59
-
60
- # baseline
61
- gc.line(-10, 0, metrics.width+20, 0)
62
-
63
- # a vertical line through the origin
64
- gc.line(0, -metrics.descent-metrics.height-10, 0, -metrics.descent+15)
65
-
66
- # descent
67
- gc.line(-10, -metrics.descent, metrics.width+20, -metrics.descent)
68
-
69
- # ascent
70
- gc.line(-10, -metrics.ascent, metrics.width+20, -metrics.ascent)
71
-
72
- # height
73
- gc.line(-10, -metrics.descent-metrics.height,
74
- metrics.width+10, -metrics.descent-metrics.height)
75
-
76
- # width
77
- gc.line(metrics.width, -metrics.descent-metrics.height-10,
78
- metrics.width, -metrics.descent+20)
79
-
80
- # max_advance
81
- gc.line(metrics.max_advance, -10, metrics.max_advance, -metrics.descent+20)
82
-
83
- gc.draw(canvas)
84
-
85
- # Draw the braces and labels. Position the braces by transforming the
86
- # user coordinate system with translate and rotate methods.
87
- gc = Magick::Draw.new
88
- gc.font_family('Face')
89
- gc.pointsize(13)
90
- gc.fill('none')
91
- gc.stroke('black')
92
- gc.stroke_width(1)
93
- gc.translate(Origin_x, Origin_y)
94
-
95
- # between origin and descent
96
- gc.push
97
- gc.translate(metrics.width+23, 0)
98
- gc.brace(10, metrics.descent)
99
- gc.pop
100
-
101
- # between origin and ascent
102
- gc.push
103
- gc.translate(metrics.width+23, 0)
104
- gc.brace(10, metrics.ascent)
105
- gc.pop
106
-
107
- # between origin and height
108
- gc.push
109
- gc.translate(-13, -metrics.descent-metrics.height)
110
- gc.rotate(180)
111
- gc.brace(10, metrics.height)
112
- gc.pop
113
-
114
- # between origin and width
115
- gc.push
116
- gc.translate(metrics.width, -metrics.descent-metrics.height-10-3)
117
- gc.rotate(-90)
118
- gc.brace(10, metrics.width)
119
- gc.pop
120
-
121
- # between origin and max_advance
122
- gc.push
123
- gc.translate(0, -metrics.descent+15)
124
- gc.rotate(90)
125
- gc.brace(10, metrics.max_advance)
126
- gc.pop
127
-
128
- # Add labels
129
- gc.font_weight(Magick::NormalWeight)
130
- gc.font_style(Magick::NormalStyle)
131
- gc.stroke('none')
132
- gc.fill('black')
133
- gc.text(metrics.width+40, -(metrics.ascent/2)+4, 'ascent')
134
- gc.text(metrics.width+40, -(metrics.descent/2)+4, 'descent')
135
- gc.text(-60, -metrics.descent-metrics.height/2+4, 'height')
136
- gc.text((metrics.width/2)-15, -metrics.descent-metrics.height-25, 'width')
137
- gc.text((metrics.max_advance)/2-38, -metrics.descent+35, 'max_advance')
138
-
139
- gc.draw(canvas)
140
- canvas.border!(1,1,'blue')
141
- canvas.write('get_type_metrics.gif')
@@ -1,27 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
- require 'rmagick'
3
-
4
- # Demonstrate the GradientFill class
5
-
6
- Rows = 100
7
- Cols = 300
8
-
9
- Start = '#900'
10
- End = '#000'
11
-
12
- fill = Magick::GradientFill.new(0, 0, 0, Rows, Start, End)
13
- img = Magick::Image.new(Cols, Rows, fill)
14
-
15
- # Annotate the filled image with the code that created the fill.
16
-
17
- ann = Magick::Draw.new
18
- ann.annotate(img, 0,0,0,0, "GradientFill.new(0, 0, 0, #{Rows}, '#{Start}', '#{End}')") do
19
- self.gravity = Magick::CenterGravity
20
- self.fill = 'white'
21
- self.stroke = 'transparent'
22
- self.pointsize = 14
23
- end
24
-
25
- #img.display
26
- img.write('gradientfill.gif')
27
- exit
data/doc/ex/grav.rb DELETED
@@ -1,45 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
-
3
- require 'rmagick'
4
-
5
- imgl = Magick::ImageList.new
6
- imgl.new_image(400,200, Magick::HatchFill.new('white', 'lightcyan2'))
7
-
8
- gc = Magick::Draw.new
9
-
10
- # Draw blue lines to indicate positioning
11
- gc.stroke('blue')
12
- gc.fill('transparent')
13
- gc.rectangle(20,20, 380,180)
14
- gc.line(200,20, 200,180)
15
- gc.line(20,100, 380,100)
16
-
17
- # Draw text at all 9 compass points.
18
- gc.font_weight(Magick::NormalWeight)
19
- gc.font_style(Magick::NormalStyle)
20
- gc.stroke('transparent')
21
- gc.fill('black')
22
- gc.gravity(Magick::NorthWestGravity)
23
- gc.text(20,20, 'NorthWestGravity')
24
- gc.gravity(Magick::NorthGravity)
25
- gc.text( 0,20, 'NorthGravity')
26
- gc.gravity(Magick::NorthEastGravity)
27
- gc.text(20,20, 'NorthEastGravity')
28
- gc.gravity(Magick::WestGravity)
29
- gc.text(20, 0, 'WestGravity')
30
- gc.gravity(Magick::CenterGravity)
31
- gc.text( 0, 0, 'CenterGravity')
32
- gc.gravity(Magick::EastGravity)
33
- gc.text(20, 0, 'EastGravity')
34
- gc.gravity(Magick::SouthWestGravity)
35
- gc.text(20,20, 'SouthWestGravity')
36
- gc.gravity(Magick::SouthGravity)
37
- gc.text( 0,20, 'SouthGravity')
38
- gc.gravity(Magick::SouthEastGravity)
39
- gc.text(20,20, 'SouthEastGravity')
40
- gc.draw(imgl)
41
-
42
- imgl.border!(1,1, 'lightcyan2')
43
-
44
- imgl.write('grav.gif')
45
- exit
data/doc/ex/gravity.rb DELETED
@@ -1,80 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
- #
3
- # A RMagick version of Magick++/demo/gravity.cpp
4
- #
5
-
6
- require 'rmagick'
7
-
8
- x = 100
9
- y = 100
10
-
11
- begin
12
-
13
- pic = Magick::ImageList.new
14
-
15
- lines = Magick::Draw.new
16
- lines.stroke '#600'
17
- lines.fill_opacity 0
18
- lines.line 300,100, 300,500
19
- lines.line 100,300, 500,300
20
- lines.rectangle 100,100, 500,500
21
-
22
- draw = Magick::Draw.new
23
- draw.pointsize = 30
24
- draw.fill = '#600'
25
- draw.undercolor = 'red'
26
-
27
- 0.step(330, 30) do |angle|
28
- puts "angle #{angle}"
29
- pic.new_image(600, 600) { self.background_color = 'white' }
30
-
31
- lines.draw pic
32
-
33
- draw.annotate(pic, 0,0,x,y, 'NorthWest') do
34
- self.gravity = Magick::NorthWestGravity
35
- self.rotation = angle
36
- end
37
- draw.annotate(pic, 0,0,0,y, 'North') do
38
- self.gravity = Magick::NorthGravity
39
- self.rotation = angle
40
- end
41
- draw.annotate(pic, 0,0,x,y, 'NorthEast') do
42
- self.gravity = Magick::NorthEastGravity
43
- self.rotation = angle
44
- end
45
- draw.annotate(pic, 0,0,x,0, 'East') do
46
- self.gravity = Magick::EastGravity
47
- self.rotation = angle
48
- end
49
- draw.annotate(pic, 0,0,0,0, 'Center') do
50
- self.gravity = Magick::CenterGravity
51
- self.rotation = angle
52
- end
53
- draw.annotate(pic, 0,0,x,y, 'SouthEast') do
54
- self.gravity = Magick::SouthEastGravity
55
- self.rotation = angle
56
- end
57
- draw.annotate(pic, 0,0,0,y, 'South') do
58
- self.gravity = Magick::SouthGravity
59
- self.rotation = angle
60
- end
61
- draw.annotate(pic, 0,0,x,y, 'SouthWest') do
62
- self.gravity = Magick::SouthWestGravity
63
- self.rotation = angle
64
- end
65
- draw.annotate(pic, 0,0,x,0, 'West') do
66
- self.gravity = Magick::WestGravity
67
- self.rotation = angle
68
- end
69
- end
70
-
71
- puts "Writing image \"rm_gravity_out.miff\"..."
72
- pic.delay = 20
73
- pic.write './rm_gravity_out.miff'
74
-
75
- rescue
76
- puts "#{$ERROR_INFO} exception raised."
77
- exit 1
78
- end
79
-
80
- exit 0
data/doc/ex/group.rb DELETED
@@ -1,26 +0,0 @@
1
- require 'rvg/rvg'
2
-
3
- Magick::RVG.dpi = 90
4
-
5
- rvg = Magick::RVG.new(6.cm, 4.cm).viewbox(0,0,600,400) do |canvas|
6
- canvas.background_fill = 'white'
7
- canvas.rect(595,395,1,1).styles(:stroke=>'blue', :fill=>'none', :stroke_width=>2)
8
-
9
- # Define a stick figure.
10
- stick = Magick::RVG::Group.new.styles(:stroke=>'black', :fill=>'none', :stroke_width=>6) do |fig|
11
- fig.circle(42, 50, 50).styles(:stroke=>'red')
12
- fig.polyline(30,40, 50,40, 45,60, 50,40, 65,40).styles(:stroke_width=>4)
13
- fig.polyline(10,100, 50,130, 90,100)
14
- fig.line(50,97, 50, 155)
15
- fig.polyline(10,200, 50,155, 90,200)
16
- end
17
-
18
- # Draw 12 copies.
19
- 2.times do|y|
20
- 6.times do|x|
21
- canvas.use(stick, x*100, y*200)
22
- end
23
- end
24
- end
25
-
26
- rvg.draw.write('group.gif')
data/doc/ex/hatchfill.rb DELETED
@@ -1,27 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
- require 'rmagick'
3
-
4
- # Demonstrate the HatchFill class
5
-
6
- Cols = 300
7
- Rows = 100
8
-
9
- Background = 'white'
10
- Foreground = 'LightCyan2'
11
-
12
- fill = Magick::HatchFill.new(Background, Foreground)
13
- img = Magick::ImageList.new
14
- img.new_image(Cols, Rows, fill)
15
-
16
- # Annotate the filled image with the code that created the fill.
17
-
18
- ann = Magick::Draw.new
19
- ann.annotate(img, 0,0,0,0, "HatchFill.new('#{Background}', '#{Foreground}')") do
20
- self.gravity = Magick::CenterGravity
21
- self.fill = 'black'
22
- self.stroke = 'transparent'
23
- self.pointsize = 14
24
- end
25
- #img.display
26
- img.write('hatchfill.gif')
27
- exit
data/doc/ex/image.rb DELETED
@@ -1,44 +0,0 @@
1
- require 'rvg/rvg'
2
-
3
- rvg = Magick::RVG.new(525, 270) do |canvas|
4
- canvas.background_fill = 'white'
5
- canvas.rect(524, 269).styles(:fill=>'none', :stroke=>'blue', :stroke_width=>1)
6
-
7
- hat = ::Magick::Image.read('images/Flower_Hat.jpg').first
8
-
9
- canvas.image(hat, 100, 75, 25, 40).preserve_aspect_ratio('none')
10
- canvas.rect(100, 75, 25, 40).styles(:fill => 'none', :stroke => 'blue')
11
-
12
- canvas.image(hat, 100, 75, 150, 40).preserve_aspect_ratio('xMinYMin', 'meet')
13
- canvas.rect(100, 75, 150, 40).styles(:fill => 'none', :stroke => 'blue')
14
-
15
- canvas.image(hat, 100, 75, 275, 40).preserve_aspect_ratio('xMidYMid', 'meet')
16
- canvas.rect(100, 75, 275, 40).styles(:fill => 'none', :stroke => 'blue')
17
-
18
- canvas.image(hat, 100, 75, 400, 40).preserve_aspect_ratio('xMaxYMax', 'meet')
19
- canvas.rect(100, 75, 400, 40).styles(:fill => 'none', :stroke => 'blue')
20
-
21
- canvas.image(hat, 100, 75, 150, 155).preserve_aspect_ratio('xMinYMin', 'slice')
22
- canvas.rect(100, 75, 150, 155).styles(:fill => 'none', :stroke => 'blue')
23
-
24
- canvas.image(hat, 100, 75, 275, 155).preserve_aspect_ratio('xMidYMid', 'slice')
25
- canvas.rect(100, 75, 275, 155).styles(:fill => 'none', :stroke => 'blue')
26
-
27
- canvas.image(hat, 100, 75, 400, 155).preserve_aspect_ratio('xMaxYMax', 'slice')
28
- canvas.rect(100, 75, 400, 155).styles(:fill => 'none', :stroke => 'blue')
29
-
30
- canvas.line(150, 20, 305, 20)
31
- canvas.line(345, 20, 500, 20)
32
- canvas.line(150, 250, 305, 250)
33
- canvas.line(340, 250, 500, 250)
34
- canvas.g.styles(:stroke=>'none', :font_weight=>'normal', :font_style=>'normal') do |t|
35
- t.text(310, 23, 'meet')
36
- t.text(60, 140, 'none')
37
- t.text(170, 140, 'xMinYMin')
38
- t.text(300, 140, 'xMidYMid')
39
- t.text(425, 140, 'xMaxYMax')
40
- t.text(310, 253, 'slice')
41
- end
42
- end
43
-
44
- rvg.draw.write('image.gif')
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
data/doc/ex/images/No.wmf DELETED
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
data/doc/ex/implode.rb DELETED
@@ -1,34 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
-
3
- require 'rmagick'
4
-
5
- img = Magick::Image.read('images/Flower_Hat.jpg').first
6
-
7
- legend = Magick::Draw.new
8
- legend.stroke = 'transparent'
9
- legend.fill = 'white'
10
- legend.gravity = Magick::SouthGravity
11
-
12
- frames = Magick::ImageList.new
13
-
14
- implosion = 0.25
15
- 8.times do
16
- frames << img.implode(implosion)
17
- legend.annotate(frames, 0,0,10,20, sprintf('% 4.2f', implosion))
18
- frames.matte = false
19
- implosion -= 0.10
20
- end
21
-
22
- 7.times do
23
- implosion += 0.10
24
- frames << img.implode(implosion)
25
- legend.annotate(frames, 0,0,10,20, sprintf('% 4.2f', implosion))
26
- frames.matte = false
27
- end
28
-
29
- frames.delay = 10
30
- frames.iterations = 0
31
- puts 'Producing animation...'
32
-
33
- frames.write('implode.gif')
34
- exit
data/doc/ex/level.rb DELETED
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
- require 'rmagick'
3
-
4
- # Demonstrate the Image#level method
5
-
6
- before = Magick::Image.read('images/Flower_Hat.jpg').first
7
-
8
- # Brighten up the mid-tones a bit.
9
- after = before.level(0, Magick::QuantumRange, 1.50)
10
- after.write('level.jpg')
11
- exit
@@ -1,11 +0,0 @@
1
- require 'rmagick'
2
-
3
- img = Magick::Image.read('images/Flower_Hat.jpg').first
4
- begin
5
- img = img.level_colors('green', 'orange', true)
6
- img.alpha(Magick::DeactivateAlphaChannel)
7
- rescue NotImplementedError
8
- not_imp = Magick::Image.read('images/notimplemented.gif').first
9
- img = not_imp.resize(img.columns, img.rows)
10
- end
11
- img.write('level_colors.jpg')