rmagick 2.16.0 → 5.1.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of rmagick might be problematic. Click here for more details.
- checksums.yaml +5 -5
- data/.codeclimate.yml +63 -0
- data/.devcontainer/Dockerfile +14 -0
- data/.devcontainer/ImageMagick6/devcontainer.json +11 -0
- data/.devcontainer/devcontainer.json +11 -0
- data/.devcontainer/setup-repo.sh +10 -0
- data/.devcontainer/setup-user.sh +45 -0
- data/.editorconfig +3 -0
- data/.github/ISSUE_TEMPLATE.md +17 -0
- data/.github/workflows/ci.yml +79 -0
- data/.gitignore +5 -1
- data/.rspec +1 -0
- data/.rubocop.yml +37 -340
- data/.rubocop_todo.yml +448 -0
- data/.yardopts +5 -0
- data/CHANGELOG.md +435 -0
- data/CODE_OF_CONDUCT.md +122 -7
- data/CONTRIBUTING.md +37 -6
- data/Gemfile +0 -6
- data/README.md +317 -0
- data/Rakefile +37 -35
- data/before_install_linux.sh +65 -28
- data/before_install_osx.sh +58 -2
- data/ext/RMagick/extconf.rb +286 -393
- data/ext/RMagick/rmagick.c +106 -111
- data/ext/RMagick/rmagick.h +235 -331
- data/ext/RMagick/rmagick_gvl.h +224 -0
- data/ext/RMagick/rmdraw.c +484 -842
- data/ext/RMagick/rmenum.c +316 -755
- data/ext/RMagick/rmfill.c +281 -191
- data/ext/RMagick/rmilist.c +450 -455
- data/ext/RMagick/rmimage.c +6247 -5289
- data/ext/RMagick/rminfo.c +721 -894
- data/ext/RMagick/rmkinfo.c +228 -0
- data/ext/RMagick/rmmain.c +727 -519
- data/ext/RMagick/rmmontage.c +127 -172
- data/ext/RMagick/rmpixel.c +638 -431
- data/ext/RMagick/rmstruct.c +102 -282
- data/ext/RMagick/rmutil.c +450 -363
- data/lib/rmagick/version.rb +5 -4
- data/lib/rmagick.rb +2 -0
- data/lib/rmagick_internal.rb +349 -413
- data/lib/rvg/clippath.rb +3 -4
- data/lib/rvg/container.rb +30 -22
- data/lib/rvg/deep_equal.rb +11 -11
- data/lib/rvg/describable.rb +2 -2
- data/lib/rvg/embellishable.rb +63 -68
- data/lib/rvg/misc.rb +136 -139
- data/lib/rvg/paint.rb +2 -1
- data/lib/rvg/pathdata.rb +7 -8
- data/lib/rvg/rvg.rb +47 -46
- data/lib/rvg/stretchable.rb +22 -28
- data/lib/rvg/stylable.rb +12 -10
- data/lib/rvg/text.rb +169 -165
- data/lib/rvg/transformable.rb +17 -16
- data/lib/rvg/units.rb +5 -5
- data/rmagick.gemspec +16 -39
- metadata +118 -395
- data/.hound.yml +0 -2
- data/.simplecov +0 -27
- data/.travis.yml +0 -74
- data/Doxyfile +0 -1514
- data/README.textile +0 -251
- data/deprecated/RMagick.rb +0 -6
- data/doc/.cvsignore +0 -1
- data/doc/comtasks.html +0 -287
- data/doc/constants.html +0 -1581
- data/doc/css/doc.css +0 -299
- data/doc/css/popup.css +0 -34
- data/doc/css/ref.css +0 -67
- data/doc/draw.html +0 -3272
- data/doc/ex/InitialCoords.rb +0 -22
- data/doc/ex/NewCoordSys.rb +0 -30
- data/doc/ex/OrigCoordSys.rb +0 -16
- data/doc/ex/PreserveAspectRatio.rb +0 -204
- data/doc/ex/RotateScale.rb +0 -36
- data/doc/ex/Skew.rb +0 -38
- data/doc/ex/Use01.rb +0 -15
- data/doc/ex/Use02.rb +0 -20
- data/doc/ex/Use03.rb +0 -16
- data/doc/ex/ViewBox.rb +0 -31
- data/doc/ex/adaptive_threshold.rb +0 -9
- data/doc/ex/add_noise.rb +0 -16
- data/doc/ex/affine.rb +0 -48
- data/doc/ex/affine_transform.rb +0 -20
- data/doc/ex/arc.rb +0 -49
- data/doc/ex/arcpath.rb +0 -32
- data/doc/ex/arcs01.rb +0 -28
- data/doc/ex/arcs02.rb +0 -59
- data/doc/ex/average.rb +0 -15
- data/doc/ex/axes.rb +0 -64
- data/doc/ex/baseline_shift01.rb +0 -17
- data/doc/ex/bilevel_channel.rb +0 -8
- data/doc/ex/blur_image.rb +0 -12
- data/doc/ex/border.rb +0 -10
- data/doc/ex/bounding_box.rb +0 -42
- data/doc/ex/cbezier1.rb +0 -41
- data/doc/ex/cbezier2.rb +0 -41
- data/doc/ex/cbezier3.rb +0 -41
- data/doc/ex/cbezier4.rb +0 -42
- data/doc/ex/cbezier5.rb +0 -42
- data/doc/ex/cbezier6.rb +0 -53
- data/doc/ex/channel.rb +0 -25
- data/doc/ex/charcoal.rb +0 -12
- data/doc/ex/chop.rb +0 -29
- data/doc/ex/circle.rb +0 -33
- data/doc/ex/circle01.rb +0 -16
- data/doc/ex/clip_path.rb +0 -60
- data/doc/ex/coalesce.rb +0 -57
- data/doc/ex/color_fill_to_border.rb +0 -29
- data/doc/ex/color_floodfill.rb +0 -28
- data/doc/ex/color_histogram.rb +0 -47
- data/doc/ex/color_reset.rb +0 -11
- data/doc/ex/colorize.rb +0 -16
- data/doc/ex/colors.rb +0 -64
- data/doc/ex/compose_mask.rb +0 -22
- data/doc/ex/composite.rb +0 -133
- data/doc/ex/composite_layers.rb +0 -53
- data/doc/ex/composite_tiled.rb +0 -21
- data/doc/ex/contrast.rb +0 -36
- data/doc/ex/crop.rb +0 -31
- data/doc/ex/crop_with_gravity.rb +0 -42
- data/doc/ex/cubic01.rb +0 -43
- data/doc/ex/cubic02.rb +0 -91
- data/doc/ex/cycle_colormap.rb +0 -21
- data/doc/ex/dissolve.rb +0 -12
- data/doc/ex/drawcomp.rb +0 -42
- data/doc/ex/drop_shadow.rb +0 -60
- data/doc/ex/edge.rb +0 -11
- data/doc/ex/ellipse.rb +0 -45
- data/doc/ex/ellipse01.rb +0 -21
- data/doc/ex/emboss.rb +0 -11
- data/doc/ex/enhance.rb +0 -28
- data/doc/ex/equalize.rb +0 -11
- data/doc/ex/evenodd.rb +0 -42
- data/doc/ex/fill_pattern.rb +0 -23
- data/doc/ex/flatten_images.rb +0 -36
- data/doc/ex/flip.rb +0 -11
- data/doc/ex/flop.rb +0 -11
- data/doc/ex/font_styles.rb +0 -32
- data/doc/ex/fonts.rb +0 -20
- data/doc/ex/frame.rb +0 -12
- data/doc/ex/gaussian_blur.rb +0 -11
- data/doc/ex/get_multiline_type_metrics.rb +0 -41
- data/doc/ex/get_pixels.rb +0 -47
- data/doc/ex/get_type_metrics.rb +0 -141
- data/doc/ex/gradientfill.rb +0 -27
- data/doc/ex/grav.rb +0 -45
- data/doc/ex/gravity.rb +0 -80
- data/doc/ex/group.rb +0 -26
- data/doc/ex/hatchfill.rb +0 -27
- data/doc/ex/image.rb +0 -44
- data/doc/ex/images/Apple.miff +0 -0
- data/doc/ex/images/Ballerina.jpg +0 -0
- data/doc/ex/images/Ballerina3.jpg +0 -0
- data/doc/ex/images/Button_0.gif +0 -0
- data/doc/ex/images/Button_1.gif +0 -0
- data/doc/ex/images/Button_2.gif +0 -0
- data/doc/ex/images/Button_3.gif +0 -0
- data/doc/ex/images/Button_4.gif +0 -0
- data/doc/ex/images/Button_5.gif +0 -0
- data/doc/ex/images/Button_6.gif +0 -0
- data/doc/ex/images/Button_7.gif +0 -0
- data/doc/ex/images/Button_8.gif +0 -0
- data/doc/ex/images/Button_9.gif +0 -0
- data/doc/ex/images/Button_A.gif +0 -0
- data/doc/ex/images/Button_B.gif +0 -0
- data/doc/ex/images/Button_C.gif +0 -0
- data/doc/ex/images/Button_D.gif +0 -0
- data/doc/ex/images/Button_E.gif +0 -0
- data/doc/ex/images/Button_F.gif +0 -0
- data/doc/ex/images/Button_G.gif +0 -0
- data/doc/ex/images/Button_H.gif +0 -0
- data/doc/ex/images/Button_I.gif +0 -0
- data/doc/ex/images/Button_J.gif +0 -0
- data/doc/ex/images/Button_K.gif +0 -0
- data/doc/ex/images/Button_L.gif +0 -0
- data/doc/ex/images/Button_M.gif +0 -0
- data/doc/ex/images/Button_N.gif +0 -0
- data/doc/ex/images/Button_O.gif +0 -0
- data/doc/ex/images/Button_P.gif +0 -0
- data/doc/ex/images/Button_Q.gif +0 -0
- data/doc/ex/images/Button_R.gif +0 -0
- data/doc/ex/images/Button_S.gif +0 -0
- data/doc/ex/images/Button_T.gif +0 -0
- data/doc/ex/images/Button_U.gif +0 -0
- data/doc/ex/images/Button_V.gif +0 -0
- data/doc/ex/images/Button_W.gif +0 -0
- data/doc/ex/images/Button_X.gif +0 -0
- data/doc/ex/images/Button_Y.gif +0 -0
- data/doc/ex/images/Button_Z.gif +0 -0
- data/doc/ex/images/Cheetah.jpg +0 -0
- data/doc/ex/images/Coffee.wmf +0 -0
- data/doc/ex/images/Flower_Hat.jpg +0 -0
- data/doc/ex/images/Gold_Statue.jpg +0 -0
- data/doc/ex/images/Hot_Air_Balloons.jpg +0 -0
- data/doc/ex/images/Hot_Air_Balloons_H.jpg +0 -0
- data/doc/ex/images/Leaf.miff +0 -0
- data/doc/ex/images/No.wmf +0 -0
- data/doc/ex/images/Polynesia.jpg +0 -0
- data/doc/ex/images/Red_Rocks.jpg +0 -0
- data/doc/ex/images/Rocks_On_Beach.miff +0 -0
- data/doc/ex/images/Shorts.jpg +0 -0
- data/doc/ex/images/Snake.wmf +0 -0
- data/doc/ex/images/Violin.jpg +0 -0
- data/doc/ex/images/Yellow_Rose.miff +0 -0
- data/doc/ex/images/big-duck.gif +0 -0
- data/doc/ex/images/duck.gif +0 -0
- data/doc/ex/images/duck0.gif +0 -0
- data/doc/ex/images/duck1.gif +0 -0
- data/doc/ex/images/duck10.gif +0 -0
- data/doc/ex/images/duck11.gif +0 -0
- data/doc/ex/images/duck12.gif +0 -0
- data/doc/ex/images/duck13.gif +0 -0
- data/doc/ex/images/duck14.gif +0 -0
- data/doc/ex/images/duck15.gif +0 -0
- data/doc/ex/images/duck2.gif +0 -0
- data/doc/ex/images/duck3.gif +0 -0
- data/doc/ex/images/duck4.gif +0 -0
- data/doc/ex/images/duck5.gif +0 -0
- data/doc/ex/images/duck6.gif +0 -0
- data/doc/ex/images/duck7.gif +0 -0
- data/doc/ex/images/duck8.gif +0 -0
- data/doc/ex/images/duck9.gif +0 -0
- data/doc/ex/images/graydient230x6.gif +0 -0
- data/doc/ex/images/image_with_profile.jpg +0 -0
- data/doc/ex/images/logo400x83.gif +0 -0
- data/doc/ex/images/model.miff +0 -0
- data/doc/ex/images/notimplemented.gif +0 -0
- data/doc/ex/images/smile.miff +0 -0
- data/doc/ex/images/spin.gif +0 -0
- data/doc/ex/implode.rb +0 -34
- data/doc/ex/level.rb +0 -11
- data/doc/ex/level_colors.rb +0 -11
- data/doc/ex/line.rb +0 -41
- data/doc/ex/line01.rb +0 -21
- data/doc/ex/mask.rb +0 -35
- data/doc/ex/matte_fill_to_border.rb +0 -39
- data/doc/ex/matte_floodfill.rb +0 -32
- data/doc/ex/matte_replace.rb +0 -39
- data/doc/ex/median_filter.rb +0 -28
- data/doc/ex/modulate.rb +0 -11
- data/doc/ex/mono.rb +0 -23
- data/doc/ex/morph.rb +0 -25
- data/doc/ex/mosaic.rb +0 -35
- data/doc/ex/motion_blur.rb +0 -11
- data/doc/ex/negate.rb +0 -11
- data/doc/ex/negate_channel.rb +0 -9
- data/doc/ex/nested_rvg.rb +0 -21
- data/doc/ex/nonzero.rb +0 -42
- data/doc/ex/normalize.rb +0 -11
- data/doc/ex/oil_paint.rb +0 -11
- data/doc/ex/opacity.rb +0 -37
- data/doc/ex/ordered_dither.rb +0 -11
- data/doc/ex/path.rb +0 -63
- data/doc/ex/pattern1.rb +0 -25
- data/doc/ex/pattern2.rb +0 -26
- data/doc/ex/polaroid.rb +0 -27
- data/doc/ex/polygon.rb +0 -23
- data/doc/ex/polygon01.rb +0 -21
- data/doc/ex/polyline.rb +0 -22
- data/doc/ex/polyline01.rb +0 -21
- data/doc/ex/posterize.rb +0 -8
- data/doc/ex/preview.rb +0 -8
- data/doc/ex/qbezierpath.rb +0 -52
- data/doc/ex/quad01.rb +0 -34
- data/doc/ex/quantize-m.rb +0 -25
- data/doc/ex/radial_blur.rb +0 -9
- data/doc/ex/raise.rb +0 -8
- data/doc/ex/random_threshold_channel.rb +0 -13
- data/doc/ex/rect01.rb +0 -14
- data/doc/ex/rect02.rb +0 -20
- data/doc/ex/rectangle.rb +0 -34
- data/doc/ex/reduce_noise.rb +0 -28
- data/doc/ex/remap.rb +0 -11
- data/doc/ex/remap_images.rb +0 -19
- data/doc/ex/resize_to_fill.rb +0 -8
- data/doc/ex/resize_to_fit.rb +0 -8
- data/doc/ex/roll.rb +0 -9
- data/doc/ex/rotate.rb +0 -44
- data/doc/ex/rotate_f.rb +0 -14
- data/doc/ex/roundrect.rb +0 -33
- data/doc/ex/rubyname.rb +0 -30
- data/doc/ex/rvg_clippath.rb +0 -12
- data/doc/ex/rvg_linecap.rb +0 -42
- data/doc/ex/rvg_linejoin.rb +0 -40
- data/doc/ex/rvg_opacity.rb +0 -18
- data/doc/ex/rvg_pattern.rb +0 -26
- data/doc/ex/rvg_stroke_dasharray.rb +0 -11
- data/doc/ex/segment.rb +0 -11
- data/doc/ex/sepiatone.rb +0 -7
- data/doc/ex/shade.rb +0 -11
- data/doc/ex/shadow.rb +0 -30
- data/doc/ex/shave.rb +0 -15
- data/doc/ex/shear.rb +0 -10
- data/doc/ex/sketch.rb +0 -17
- data/doc/ex/skewx.rb +0 -51
- data/doc/ex/skewy.rb +0 -47
- data/doc/ex/smile.rb +0 -125
- data/doc/ex/solarize.rb +0 -11
- data/doc/ex/sparse_color.rb +0 -54
- data/doc/ex/splice.rb +0 -8
- data/doc/ex/spread.rb +0 -11
- data/doc/ex/stegano.rb +0 -55
- data/doc/ex/stroke_dasharray.rb +0 -42
- data/doc/ex/stroke_fill.rb +0 -10
- data/doc/ex/stroke_linecap.rb +0 -44
- data/doc/ex/stroke_linejoin.rb +0 -48
- data/doc/ex/stroke_width.rb +0 -49
- data/doc/ex/swirl.rb +0 -17
- data/doc/ex/text.rb +0 -37
- data/doc/ex/text01.rb +0 -16
- data/doc/ex/text_align.rb +0 -36
- data/doc/ex/text_antialias.rb +0 -37
- data/doc/ex/text_styles.rb +0 -19
- data/doc/ex/text_undercolor.rb +0 -28
- data/doc/ex/texture_fill_to_border.rb +0 -34
- data/doc/ex/texture_floodfill.rb +0 -32
- data/doc/ex/texturefill.rb +0 -24
- data/doc/ex/threshold.rb +0 -13
- data/doc/ex/to_blob.rb +0 -13
- data/doc/ex/translate.rb +0 -39
- data/doc/ex/transparent.rb +0 -38
- data/doc/ex/transpose.rb +0 -9
- data/doc/ex/transverse.rb +0 -9
- data/doc/ex/tref01.rb +0 -24
- data/doc/ex/triangle01.rb +0 -15
- data/doc/ex/trim.rb +0 -23
- data/doc/ex/tspan01.rb +0 -17
- data/doc/ex/tspan02.rb +0 -17
- data/doc/ex/tspan03.rb +0 -19
- data/doc/ex/unsharp_mask.rb +0 -28
- data/doc/ex/viewex.rb +0 -33
- data/doc/ex/vignette.rb +0 -12
- data/doc/ex/watermark.rb +0 -27
- data/doc/ex/wave.rb +0 -9
- data/doc/ex/wet_floor.rb +0 -58
- data/doc/ex/writing_mode01.rb +0 -26
- data/doc/ex/writing_mode02.rb +0 -26
- data/doc/ilist.html +0 -2056
- data/doc/image1.html +0 -4680
- data/doc/image2.html +0 -3665
- data/doc/image3.html +0 -4522
- data/doc/imageattrs.html +0 -1638
- data/doc/imusage.html +0 -514
- data/doc/index.html +0 -416
- data/doc/info.html +0 -1499
- data/doc/magick.html +0 -565
- data/doc/optequiv.html +0 -2435
- data/doc/rvg.html +0 -975
- data/doc/rvgclip.html +0 -248
- data/doc/rvggroup.html +0 -305
- data/doc/rvgimage.html +0 -289
- data/doc/rvgpattern.html +0 -475
- data/doc/rvgshape.html +0 -406
- data/doc/rvgstyle.html +0 -270
- data/doc/rvgtext.html +0 -465
- data/doc/rvgtspan.html +0 -238
- data/doc/rvgtut.html +0 -530
- data/doc/rvguse.html +0 -145
- data/doc/rvgxform.html +0 -294
- data/doc/scripts/doc.js +0 -22
- data/doc/scripts/stripeTables.js +0 -23
- data/doc/struct.html +0 -1339
- data/doc/usage.html +0 -1621
- data/examples/constitute.rb +0 -7
- data/examples/crop_with_gravity.rb +0 -42
- data/examples/demo.rb +0 -324
- data/examples/describe.rb +0 -43
- data/examples/find_similar_region.rb +0 -34
- data/examples/histogram.rb +0 -321
- data/examples/identify.rb +0 -185
- data/examples/image_opacity.rb +0 -29
- data/examples/import_export.rb +0 -31
- data/examples/pattern_fill.rb +0 -38
- data/examples/rotating_text.rb +0 -44
- data/examples/spinner.rb +0 -49
- data/examples/thumbnail.rb +0 -64
- data/examples/vignette.rb +0 -78
- data/spec/rmagick/ImageList1_spec.rb +0 -24
- data/spec/rmagick/draw_spec.rb +0 -156
- data/spec/rmagick/image/blue_shift_spec.rb +0 -16
- data/spec/rmagick/image/composite_spec.rb +0 -140
- data/spec/rmagick/image/constitute_spec.rb +0 -15
- data/spec/rmagick/image/dispatch_spec.rb +0 -18
- data/spec/rmagick/image/from_blob_spec.rb +0 -14
- data/spec/rmagick/image/ping_spec.rb +0 -14
- data/spec/rmagick/image/properties_spec.rb +0 -29
- data/spec/spec_helper.rb +0 -4
- data/test/Image1.rb +0 -565
- data/test/Image2.rb +0 -1304
- data/test/Image3.rb +0 -1030
- data/test/ImageList1.rb +0 -806
- data/test/ImageList2.rb +0 -385
- data/test/Image_attributes.rb +0 -697
- data/test/Import_Export.rb +0 -121
- data/test/Info.rb +0 -345
- data/test/Magick.rb +0 -321
- data/test/Pixel.rb +0 -116
- data/test/Preview.rb +0 -57
- data/test/cmyk.icm +0 -0
- data/test/srgb.icm +0 -0
- data/test/test_all_basic.rb +0 -38
- data/test/tmpnam_test.rb +0 -50
- data/wercker.yml +0 -10
data/doc/ex/get_type_metrics.rb
DELETED
@@ -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')
|
data/doc/ex/gradientfill.rb
DELETED
@@ -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')
|
data/doc/ex/images/Apple.miff
DELETED
Binary file
|
data/doc/ex/images/Ballerina.jpg
DELETED
Binary file
|
Binary file
|
data/doc/ex/images/Button_0.gif
DELETED
Binary file
|
data/doc/ex/images/Button_1.gif
DELETED
Binary file
|
data/doc/ex/images/Button_2.gif
DELETED
Binary file
|
data/doc/ex/images/Button_3.gif
DELETED
Binary file
|
data/doc/ex/images/Button_4.gif
DELETED
Binary file
|
data/doc/ex/images/Button_5.gif
DELETED
Binary file
|
data/doc/ex/images/Button_6.gif
DELETED
Binary file
|
data/doc/ex/images/Button_7.gif
DELETED
Binary file
|
data/doc/ex/images/Button_8.gif
DELETED
Binary file
|
data/doc/ex/images/Button_9.gif
DELETED
Binary file
|
data/doc/ex/images/Button_A.gif
DELETED
Binary file
|
data/doc/ex/images/Button_B.gif
DELETED
Binary file
|
data/doc/ex/images/Button_C.gif
DELETED
Binary file
|
data/doc/ex/images/Button_D.gif
DELETED
Binary file
|
data/doc/ex/images/Button_E.gif
DELETED
Binary file
|
data/doc/ex/images/Button_F.gif
DELETED
Binary file
|
data/doc/ex/images/Button_G.gif
DELETED
Binary file
|
data/doc/ex/images/Button_H.gif
DELETED
Binary file
|
data/doc/ex/images/Button_I.gif
DELETED
Binary file
|
data/doc/ex/images/Button_J.gif
DELETED
Binary file
|
data/doc/ex/images/Button_K.gif
DELETED
Binary file
|
data/doc/ex/images/Button_L.gif
DELETED
Binary file
|
data/doc/ex/images/Button_M.gif
DELETED
Binary file
|
data/doc/ex/images/Button_N.gif
DELETED
Binary file
|
data/doc/ex/images/Button_O.gif
DELETED
Binary file
|
data/doc/ex/images/Button_P.gif
DELETED
Binary file
|
data/doc/ex/images/Button_Q.gif
DELETED
Binary file
|
data/doc/ex/images/Button_R.gif
DELETED
Binary file
|
data/doc/ex/images/Button_S.gif
DELETED
Binary file
|
data/doc/ex/images/Button_T.gif
DELETED
Binary file
|
data/doc/ex/images/Button_U.gif
DELETED
Binary file
|
data/doc/ex/images/Button_V.gif
DELETED
Binary file
|
data/doc/ex/images/Button_W.gif
DELETED
Binary file
|
data/doc/ex/images/Button_X.gif
DELETED
Binary file
|
data/doc/ex/images/Button_Y.gif
DELETED
Binary file
|
data/doc/ex/images/Button_Z.gif
DELETED
Binary file
|
data/doc/ex/images/Cheetah.jpg
DELETED
Binary file
|
data/doc/ex/images/Coffee.wmf
DELETED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/doc/ex/images/Leaf.miff
DELETED
Binary file
|
data/doc/ex/images/No.wmf
DELETED
Binary file
|
data/doc/ex/images/Polynesia.jpg
DELETED
Binary file
|
data/doc/ex/images/Red_Rocks.jpg
DELETED
Binary file
|
Binary file
|
data/doc/ex/images/Shorts.jpg
DELETED
Binary file
|
data/doc/ex/images/Snake.wmf
DELETED
Binary file
|
data/doc/ex/images/Violin.jpg
DELETED
Binary file
|
Binary file
|
data/doc/ex/images/big-duck.gif
DELETED
Binary file
|
data/doc/ex/images/duck.gif
DELETED
Binary file
|
data/doc/ex/images/duck0.gif
DELETED
Binary file
|
data/doc/ex/images/duck1.gif
DELETED
Binary file
|
data/doc/ex/images/duck10.gif
DELETED
Binary file
|
data/doc/ex/images/duck11.gif
DELETED
Binary file
|
data/doc/ex/images/duck12.gif
DELETED
Binary file
|
data/doc/ex/images/duck13.gif
DELETED
Binary file
|
data/doc/ex/images/duck14.gif
DELETED
Binary file
|
data/doc/ex/images/duck15.gif
DELETED
Binary file
|
data/doc/ex/images/duck2.gif
DELETED
Binary file
|
data/doc/ex/images/duck3.gif
DELETED
Binary file
|
data/doc/ex/images/duck4.gif
DELETED
Binary file
|
data/doc/ex/images/duck5.gif
DELETED
Binary file
|
data/doc/ex/images/duck6.gif
DELETED
Binary file
|
data/doc/ex/images/duck7.gif
DELETED
Binary file
|
data/doc/ex/images/duck8.gif
DELETED
Binary file
|
data/doc/ex/images/duck9.gif
DELETED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/doc/ex/images/model.miff
DELETED
Binary file
|
Binary file
|
data/doc/ex/images/smile.miff
DELETED
Binary file
|
data/doc/ex/images/spin.gif
DELETED
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
|
data/doc/ex/level_colors.rb
DELETED
@@ -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')
|