rmagick 2.13.1 → 2.13.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +21 -0
- data/.travis.yml +57 -0
- data/CONTRIBUTING.md +22 -0
- data/ChangeLog +49 -2
- data/Gemfile +7 -0
- data/LICENSE +20 -0
- data/README.textile +161 -0
- data/Rakefile +176 -0
- data/before_install_linux.sh +12 -0
- data/before_install_osx.sh +2 -0
- data/doc/.cvsignore +1 -0
- data/doc/comtasks.html +2 -2
- data/doc/constants.html +2 -2
- data/doc/draw.html +2 -2
- data/doc/ex/PreserveAspectRatio.rb +0 -0
- data/doc/ex/ViewBox.rb +0 -0
- data/doc/ex/adaptive_threshold.rb +0 -0
- data/doc/ex/add_noise.rb +0 -0
- data/doc/ex/affine.rb +0 -0
- data/doc/ex/affine_transform.rb +0 -0
- data/doc/ex/arc.rb +0 -0
- data/doc/ex/arcpath.rb +0 -0
- data/doc/ex/average.rb +0 -0
- data/doc/ex/axes.rb +0 -0
- data/doc/ex/bilevel_channel.rb +0 -0
- data/doc/ex/blur_image.rb +0 -0
- data/doc/ex/border.rb +0 -0
- data/doc/ex/bounding_box.rb +0 -0
- data/doc/ex/cbezier1.rb +0 -0
- data/doc/ex/cbezier2.rb +0 -0
- data/doc/ex/cbezier3.rb +0 -0
- data/doc/ex/cbezier4.rb +0 -0
- data/doc/ex/cbezier5.rb +0 -0
- data/doc/ex/cbezier6.rb +0 -0
- data/doc/ex/channel.rb +0 -0
- data/doc/ex/charcoal.rb +0 -0
- data/doc/ex/chop.rb +0 -0
- data/doc/ex/circle.rb +0 -0
- data/doc/ex/clip_path.rb +0 -0
- data/doc/ex/coalesce.rb +0 -0
- data/doc/ex/color_fill_to_border.rb +0 -0
- data/doc/ex/color_floodfill.rb +0 -0
- data/doc/ex/color_histogram.rb +0 -0
- data/doc/ex/color_reset.rb +0 -0
- data/doc/ex/colorize.rb +0 -0
- data/doc/ex/colors.rb +0 -0
- data/doc/ex/composite.rb +0 -0
- data/doc/ex/composite_layers.rb +0 -0
- data/doc/ex/contrast.rb +0 -0
- data/doc/ex/crop.rb +0 -0
- data/doc/ex/cycle_colormap.rb +0 -0
- data/doc/ex/drawcomp.rb +0 -0
- data/doc/ex/drop_shadow.rb +0 -0
- data/doc/ex/edge.rb +0 -0
- data/doc/ex/ellipse.rb +0 -0
- data/doc/ex/emboss.rb +0 -0
- data/doc/ex/enhance.rb +0 -0
- data/doc/ex/equalize.rb +0 -0
- data/doc/ex/evenodd.rb +0 -0
- data/doc/ex/flatten_images.rb +0 -0
- data/doc/ex/flip.rb +0 -0
- data/doc/ex/flop.rb +0 -0
- data/doc/ex/fonts.rb +0 -0
- data/doc/ex/frame.rb +0 -0
- data/doc/ex/gaussian_blur.rb +0 -0
- data/doc/ex/get_pixels.rb +0 -0
- data/doc/ex/gradientfill.rb +0 -0
- data/doc/ex/grav.rb +0 -0
- data/doc/ex/gravity.rb +0 -0
- data/doc/ex/hatchfill.rb +0 -0
- data/doc/ex/images/image_with_profile.jpg +0 -0
- data/doc/ex/images/logo400x83.gif +0 -0
- data/doc/ex/implode.rb +0 -0
- data/doc/ex/level.rb +0 -0
- data/doc/ex/line.rb +0 -0
- data/doc/ex/mask.rb +1 -1
- data/doc/ex/matte_fill_to_border.rb +0 -0
- data/doc/ex/matte_floodfill.rb +0 -0
- data/doc/ex/matte_replace.rb +0 -0
- data/doc/ex/median_filter.rb +0 -0
- data/doc/ex/modulate.rb +0 -0
- data/doc/ex/mono.rb +0 -0
- data/doc/ex/morph.rb +0 -0
- data/doc/ex/mosaic.rb +0 -0
- data/doc/ex/motion_blur.rb +0 -0
- data/doc/ex/negate.rb +0 -0
- data/doc/ex/nested_rvg.rb +0 -0
- data/doc/ex/nonzero.rb +0 -0
- data/doc/ex/normalize.rb +0 -0
- data/doc/ex/oil_paint.rb +0 -0
- data/doc/ex/opacity.rb +0 -0
- data/doc/ex/ordered_dither.rb +0 -0
- data/doc/ex/path.rb +0 -0
- data/doc/ex/pattern1.rb +0 -0
- data/doc/ex/pattern2.rb +0 -0
- data/doc/ex/polygon.rb +0 -0
- data/doc/ex/polyline.rb +0 -0
- data/doc/ex/preview.rb +0 -0
- data/doc/ex/qbezierpath.rb +0 -0
- data/doc/ex/quantize-m.rb +0 -0
- data/doc/ex/radial_blur.rb +0 -0
- data/doc/ex/raise.rb +0 -0
- data/doc/ex/rectangle.rb +0 -0
- data/doc/ex/reduce_noise.rb +0 -0
- data/doc/ex/roll.rb +0 -0
- data/doc/ex/rotate.rb +0 -0
- data/doc/ex/rotate_f.rb +0 -0
- data/doc/ex/roundrect.rb +0 -0
- data/doc/ex/rubyname.rb +0 -0
- data/doc/ex/rvg_linecap.rb +0 -0
- data/doc/ex/rvg_linejoin.rb +0 -0
- data/doc/ex/rvg_opacity.rb +0 -0
- data/doc/ex/rvg_stroke_dasharray.rb +0 -0
- data/doc/ex/segment.rb +0 -0
- data/doc/ex/shade.rb +0 -0
- data/doc/ex/shave.rb +0 -0
- data/doc/ex/shear.rb +0 -0
- data/doc/ex/sketch.rb +0 -0
- data/doc/ex/skewx.rb +0 -0
- data/doc/ex/skewy.rb +0 -0
- data/doc/ex/smile.rb +0 -0
- data/doc/ex/solarize.rb +0 -0
- data/doc/ex/spread.rb +0 -0
- data/doc/ex/stegano.rb +0 -0
- data/doc/ex/stroke_dasharray.rb +0 -0
- data/doc/ex/stroke_fill.rb +0 -0
- data/doc/ex/stroke_linecap.rb +0 -0
- data/doc/ex/stroke_linejoin.rb +0 -0
- data/doc/ex/stroke_width.rb +0 -0
- data/doc/ex/swirl.rb +0 -0
- data/doc/ex/text.rb +0 -0
- data/doc/ex/text_align.rb +0 -0
- data/doc/ex/text_antialias.rb +0 -0
- data/doc/ex/text_undercolor.rb +0 -0
- data/doc/ex/texture_fill_to_border.rb +0 -0
- data/doc/ex/texture_floodfill.rb +0 -0
- data/doc/ex/texturefill.rb +0 -0
- data/doc/ex/threshold.rb +0 -0
- data/doc/ex/to_blob.rb +0 -0
- data/doc/ex/translate.rb +0 -0
- data/doc/ex/transparent.rb +0 -0
- data/doc/ex/unsharp_mask.rb +0 -0
- data/doc/ex/wave.rb +0 -0
- data/doc/ilist.html +2 -2
- data/doc/image1.html +2 -2
- data/doc/image2.html +2 -2
- data/doc/image3.html +2 -2
- data/doc/imageattrs.html +2 -2
- data/doc/imusage.html +2 -2
- data/doc/index.html +3 -3
- data/doc/info.html +2 -2
- data/doc/magick.html +2 -2
- data/doc/optequiv.html +2 -2
- data/doc/rvg.html +2 -2
- data/doc/rvgclip.html +2 -2
- data/doc/rvggroup.html +2 -2
- data/doc/rvgimage.html +2 -2
- data/doc/rvgpattern.html +2 -2
- data/doc/rvgshape.html +2 -2
- data/doc/rvgstyle.html +2 -2
- data/doc/rvgtext.html +2 -2
- data/doc/rvgtspan.html +2 -2
- data/doc/rvgtut.html +2 -2
- data/doc/rvguse.html +2 -2
- data/doc/rvgxform.html +2 -2
- data/doc/struct.html +2 -2
- data/doc/usage.html +2 -2
- data/examples/crop_with_gravity.rb +0 -0
- data/examples/demo.rb +0 -0
- data/examples/describe.rb +0 -0
- data/examples/identify.rb +1 -1
- data/examples/rotating_text.rb +0 -0
- data/ext/RMagick/extconf.rb +62 -31
- data/ext/RMagick/rmagick.c +15 -15
- data/ext/RMagick/rmagick.h +9 -7
- data/ext/RMagick/rmdraw.c +12 -12
- data/ext/RMagick/rmenum.c +2 -2
- data/ext/RMagick/rmfill.c +25 -25
- data/ext/RMagick/rmilist.c +121 -104
- data/ext/RMagick/rmimage.c +743 -548
- data/ext/RMagick/rminfo.c +15 -15
- data/ext/RMagick/rmmain.c +27 -3
- data/ext/RMagick/rmpixel.c +25 -27
- data/ext/RMagick/rmstruct.c +1 -1
- data/ext/RMagick/rmutil.c +18 -18
- data/lib/RMagick.rb +1 -1962
- data/lib/rmagick/version.rb +5 -0
- data/lib/rmagick.rb +1 -0
- data/lib/rmagick_internal.rb +1964 -0
- data/rmagick.gemspec +21 -9
- data/test/Draw.rb +121 -0
- data/test/Image1.rb +763 -0
- data/test/Image2.rb +1312 -0
- data/test/Image3.rb +1033 -0
- data/test/ImageList1.rb +808 -0
- data/test/ImageList2.rb +389 -0
- data/test/Image_attributes.rb +700 -0
- data/test/Import_Export.rb +126 -0
- data/test/Info.rb +349 -0
- data/test/Magick.rb +324 -0
- data/test/Pixel.rb +119 -0
- data/test/Preview.rb +62 -0
- data/test/cmyk.icm +0 -0
- data/test/srgb.icm +0 -0
- data/test/test_all_basic.rb +34 -0
- data/test/tmpnam_test.rb +50 -0
- metadata +395 -352
- data/README-Mac-OSX.txt +0 -1
- data/README.html +0 -10
- data/build_tarball.rake +0 -215
- data/ext/RMagick/MANIFEST +0 -358
- data/metaconfig +0 -7
- data/post-clean.rb +0 -12
- data/post-install.rb +0 -50
- data/post-setup.rb +0 -254
- data/setup.rb +0 -1585
- data/uninstall.rb +0 -74
data/rmagick.gemspec
CHANGED
|
@@ -1,20 +1,32 @@
|
|
|
1
1
|
require 'date'
|
|
2
|
+
require './lib/rmagick/version'
|
|
2
3
|
Gem::Specification.new do |s|
|
|
3
4
|
s.name = %q{rmagick}
|
|
4
|
-
s.version =
|
|
5
|
+
s.version = Magick::VERSION
|
|
5
6
|
s.date = Date.today.to_s
|
|
6
7
|
s.summary = %q{Ruby binding to ImageMagick}
|
|
7
8
|
s.description = %q{RMagick is an interface between Ruby and ImageMagick.}
|
|
8
|
-
s.authors = [%q{Tim Hunter}, %q{Omer Bar-or}, %q{Benjamin Thomas}]
|
|
9
|
-
s.
|
|
10
|
-
s.
|
|
11
|
-
s.
|
|
12
|
-
s.
|
|
13
|
-
|
|
9
|
+
s.authors = [%q{Tim Hunter}, %q{Omer Bar-or}, %q{Benjamin Thomas}, %q{Moncef Maiza}]
|
|
10
|
+
s.post_install_message = "Please report any bugs. See https://github.com/gemhome/rmagick/compare/RMagick_2-13-2...master and https://github.com/rmagick/rmagick/issues/18"
|
|
11
|
+
s.email = %q{github@benjaminfleischer.com}
|
|
12
|
+
s.homepage = %q{https://github.com/gemhome/rmagick}
|
|
13
|
+
s.license = 'MIT'
|
|
14
|
+
|
|
15
|
+
tracked_files = `git ls-files`.split($\)
|
|
16
|
+
file_exclusion_regex = %r{(\Alib/rvg/to_c.rb)}
|
|
17
|
+
files = tracked_files.reject{|file| file[file_exclusion_regex] }
|
|
18
|
+
test_files = files.grep(%r{^(test|spec|features)/})
|
|
19
|
+
executables = files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
|
20
|
+
|
|
21
|
+
s.files = files
|
|
22
|
+
s.test_files = test_files
|
|
23
|
+
s.executables = executables
|
|
14
24
|
s.require_paths << 'ext'
|
|
25
|
+
|
|
15
26
|
s.rubyforge_project = %q{rmagick}
|
|
16
27
|
s.extensions = %w{ext/RMagick/extconf.rb}
|
|
17
28
|
s.has_rdoc = false
|
|
18
|
-
s.required_ruby_version =
|
|
19
|
-
s.requirements <<
|
|
29
|
+
s.required_ruby_version = ">= #{Magick::MIN_RUBY_VERSION}"
|
|
30
|
+
s.requirements << "ImageMagick #{Magick::MIN_IM_VERSION} or later"
|
|
31
|
+
s.add_development_dependency 'rake-compiler'
|
|
20
32
|
end
|
data/test/Draw.rb
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
|
|
2
|
+
#! /usr/local/bin/ruby -w
|
|
3
|
+
|
|
4
|
+
require 'RMagick'
|
|
5
|
+
require 'test/unit'
|
|
6
|
+
require 'test/unit/ui/console/testrunner' if !RUBY_VERSION[/^1\.9|^2/]
|
|
7
|
+
|
|
8
|
+
class Magick::Draw
|
|
9
|
+
def self._dummy_img_
|
|
10
|
+
@@_dummy_img_
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
class Draw_UT < Test::Unit::TestCase
|
|
15
|
+
|
|
16
|
+
def setup
|
|
17
|
+
@draw = Magick::Draw.new
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# Ensure @@_dummy_img_ class var is working properly
|
|
21
|
+
def test_dummy_img
|
|
22
|
+
# initially this variable is not defined.
|
|
23
|
+
assert_raise(NameError) do
|
|
24
|
+
Magick::Draw._dummy_img_
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# cause it to become defined. save the object id.
|
|
28
|
+
@draw.get_type_metrics("ABCDEF")
|
|
29
|
+
dummy = nil
|
|
30
|
+
assert_nothing_raised do
|
|
31
|
+
dummy = Magick::Draw._dummy_img_
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
assert_instance_of(Magick::Image, dummy)
|
|
35
|
+
|
|
36
|
+
# ensure that it is always the same object
|
|
37
|
+
@draw.get_type_metrics("ABCDEF")
|
|
38
|
+
dummy2 = nil
|
|
39
|
+
assert_nothing_raised do
|
|
40
|
+
dummy2 = Magick::Draw._dummy_img_
|
|
41
|
+
end
|
|
42
|
+
assert_same(dummy, dummy2)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def test_kerning
|
|
46
|
+
assert_nothing_raised { @draw.kerning = 1 }
|
|
47
|
+
assert_nothing_raised { @draw.kerning(1) }
|
|
48
|
+
assert_raise(ArgumentError) { @draw.kerning("a") }
|
|
49
|
+
assert_raise(TypeError) { @draw.kerning([]) }
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def test_interline_spacing
|
|
53
|
+
assert_nothing_raised { @draw.interline_spacing = 1 }
|
|
54
|
+
assert_nothing_raised { @draw.interline_spacing(1) }
|
|
55
|
+
assert_raise(ArgumentError) { @draw.interline_spacing("a") }
|
|
56
|
+
assert_raise(TypeError) { @draw.interline_spacing([]) }
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def test_interword_spacing
|
|
60
|
+
assert_nothing_raised { @draw.interword_spacing = 1 }
|
|
61
|
+
assert_nothing_raised { @draw.interword_spacing(1) }
|
|
62
|
+
assert_raise(ArgumentError) { @draw.interword_spacing("a") }
|
|
63
|
+
assert_raise(TypeError) { @draw.interword_spacing([]) }
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def assert_marshal
|
|
67
|
+
rose = Magick::Image.read("rose:").first
|
|
68
|
+
granite = Magick::Image.read("granite:").first
|
|
69
|
+
s = granite.to_blob {self.format="miff"}
|
|
70
|
+
granite = Magick::Image.from_blob(s).first
|
|
71
|
+
blue_stroke = Magick::Image.new(20,20) {self.background_color = "blue"}
|
|
72
|
+
s = blue_stroke.to_blob {self.format="miff"}
|
|
73
|
+
blue_stroke = Magick::Image.from_blob(s).first
|
|
74
|
+
|
|
75
|
+
@draw.affine = Magick::AffineMatrix.new(1, 2, 3, 4, 5, 6)
|
|
76
|
+
@draw.decorate = Magick::LineThroughDecoration
|
|
77
|
+
@draw.encoding = "AdobeCustom"
|
|
78
|
+
@draw.gravity = Magick::CenterGravity
|
|
79
|
+
@draw.fill = Magick::Pixel.from_color("red")
|
|
80
|
+
@draw.stroke = Magick::Pixel.from_color("blue")
|
|
81
|
+
@draw.stroke_width = 5
|
|
82
|
+
@draw.fill_pattern = granite
|
|
83
|
+
@draw.stroke_pattern = blue_stroke
|
|
84
|
+
@draw.text_antialias = true
|
|
85
|
+
@draw.font = "Arial-Bold"
|
|
86
|
+
@draw.font_family = "arial"
|
|
87
|
+
@draw.font_style = Magick::ItalicStyle
|
|
88
|
+
@draw.font_stretch = Magick::CondensedStretch
|
|
89
|
+
@draw.font_weight = Magick::BoldWeight
|
|
90
|
+
@draw.pointsize = 12
|
|
91
|
+
@draw.density = "72x72"
|
|
92
|
+
@draw.align = Magick::CenterAlign
|
|
93
|
+
@draw.undercolor = Magick::Pixel.from_color("green")
|
|
94
|
+
@draw.kerning = 10.5
|
|
95
|
+
@draw.interword_spacing = 3.75
|
|
96
|
+
|
|
97
|
+
@draw.circle(20, 25, 20, 28)
|
|
98
|
+
dumped = nil
|
|
99
|
+
assert_nothing_raised { dumped = Marshal.dump(@draw) }
|
|
100
|
+
assert_nothing_raised { Marshal.load(dumped) }
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
def test_patterns
|
|
104
|
+
img = Magick::Image.new(20,20)
|
|
105
|
+
assert_nothing_raised { @draw.fill_pattern = img }
|
|
106
|
+
assert_nothing_raised { @draw.stroke_pattern = img }
|
|
107
|
+
|
|
108
|
+
ilist = Magick::ImageList.new
|
|
109
|
+
ilist << img
|
|
110
|
+
assert_nothing_raised { @draw.fill_pattern = ilist }
|
|
111
|
+
assert_nothing_raised { @draw.stroke_pattern = ilist }
|
|
112
|
+
|
|
113
|
+
assert_raise(NoMethodError) { @draw.fill_pattern = 1 }
|
|
114
|
+
assert_raise(NoMethodError) { @draw.stroke_pattern = 1 }
|
|
115
|
+
end
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
if __FILE__ == $0
|
|
119
|
+
Test::Unit::UI::Console::TestRunner.run(Draw_UT) if !RUBY_VERSION[/^1\.9|^2/]
|
|
120
|
+
end
|
|
121
|
+
|