rmagick4j 0.3.6 → 0.3.7
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.
- data/Manifest.txt +122 -107
- data/lib/RMagick.rb +84 -4
- data/lib/magick4j.jar +0 -0
- data/lib/rmagick4j/constants.rb +1 -0
- data/lib/rmagick4j/image.rb +51 -3
- data/lib/rmagick4j/image_list.rb +4 -0
- data/lib/rmagick4j/rmagick4j.rb +0 -1
- data/lib/rmagick4j/version.rb +1 -1
- data/test/eyetests/bullseye.rb +2 -1
- data/test/eyetests/doc.rb +79 -0
- data/test/eyetests/tests/draw_multiline_type_metrics.rb +1 -1
- data/test/eyetests/tests/draw_pop_push.rb +16 -0
- data/test/eyetests/tests/draw_pop_push_translate.rb +1 -1
- data/test/eyetests/tests/effect_blur.rb +9 -0
- data/test/eyetests/tests/effect_charcoal.rb +9 -0
- data/test/eyetests/tests/effect_edge.rb +9 -0
- data/test/eyetests/tests/effect_implode.rb +9 -0
- data/test/eyetests/tests/effect_negate.rb +9 -0
- data/test/eyetests/tests/effect_negate_true.rb +9 -0
- data/test/eyetests/tests/effect_normalize.rb +9 -0
- data/test/eyetests/tests/effect_shade.rb +9 -0
- data/test/eyetests/tests/effect_solarize.rb +10 -0
- data/test/eyetests/tests/effect_wave.rb +9 -0
- data/test/eyetests/tests/gradient_fill_vertical_fill.rb +1 -1
- data/test/eyetests/tests/gruff_dot_1.rb +19 -0
- data/test/eyetests/tests/gruff_line_2.rb +1 -1
- data/test/eyetests/tests/gruff_pie_1.rb +1 -1
- data/test/eyetests/tests/gruff_stacked_area_1.rb +23 -0
- data/test/eyetests/tests/new_image.rb +8 -1
- data/test/gruff_tests/test/gruff_test_case.rb +5 -2
- data/test/gruff_tests/test/test_bar.rb +15 -3
- data/test/gruff_tests/test/test_bullet.rb +26 -26
- data/test/gruff_tests/test/test_dot.rb +273 -0
- data/test/gruff_tests/test/test_legend.rb +37 -40
- data/test/gruff_tests/test/test_line.rb +75 -14
- data/test/gruff_tests/test/test_mini_bar.rb +1 -0
- data/test/gruff_tests/test/test_stacked_area.rb +52 -0
- data/test/spec/draw_spec.rb +1 -0
- data/test/spec/image_spec.rb +15 -1
- data/test/spec/stories/geometry_runner.rb +1 -1
- data/test/spec/stories/geometry_story.rb +1 -1
- metadata +186 -164
- data/lib/jhlabs-filters.jar +0 -0
data/Manifest.txt
CHANGED
@@ -4,147 +4,162 @@ README.txt
|
|
4
4
|
Rakefile
|
5
5
|
LICENSE.txt
|
6
6
|
lib/RMagick.rb
|
7
|
-
lib/
|
8
|
-
lib/rmagick4j/draw.rb
|
9
|
-
lib/rmagick4j/enum.rb
|
10
|
-
lib/rmagick4j/gradient_fill.rb
|
11
|
-
lib/rmagick4j/image.rb
|
12
|
-
lib/rmagick4j/image_list.rb
|
13
|
-
lib/rmagick4j/pixel.rb
|
14
|
-
lib/rmagick4j/rmagick4j.rb
|
15
|
-
lib/rmagick4j/texture_fill.rb
|
16
|
-
lib/rmagick4j/type_metric.rb
|
17
|
-
lib/rmagick4j/version.rb
|
18
|
-
lib/rvg/clippath.rb
|
19
|
-
lib/rvg/container.rb
|
7
|
+
lib/rvg/stylable.rb
|
20
8
|
lib/rvg/deep_equal.rb
|
21
|
-
lib/rvg/
|
22
|
-
lib/rvg/
|
9
|
+
lib/rvg/pathdata.rb
|
10
|
+
lib/rvg/units.rb
|
11
|
+
lib/rvg/container.rb
|
23
12
|
lib/rvg/misc.rb
|
24
13
|
lib/rvg/paint.rb
|
25
|
-
lib/rvg/
|
26
|
-
lib/rvg/
|
27
|
-
lib/rvg/stretchable.rb
|
28
|
-
lib/rvg/stylable.rb
|
14
|
+
lib/rvg/embellishable.rb
|
15
|
+
lib/rvg/describable.rb
|
29
16
|
lib/rvg/text.rb
|
30
17
|
lib/rvg/transformable.rb
|
31
|
-
lib/rvg/
|
32
|
-
lib/
|
33
|
-
lib/
|
18
|
+
lib/rvg/rvg.rb
|
19
|
+
lib/rvg/clippath.rb
|
20
|
+
lib/rvg/stretchable.rb
|
21
|
+
lib/rmagick4j/constants.rb
|
22
|
+
lib/rmagick4j/gradient_fill.rb
|
23
|
+
lib/rmagick4j/draw.rb
|
24
|
+
lib/rmagick4j/pixel.rb
|
25
|
+
lib/rmagick4j/rmagick4j.rb
|
26
|
+
lib/rmagick4j/image.rb
|
27
|
+
lib/rmagick4j/image_list.rb
|
28
|
+
lib/rmagick4j/version.rb
|
29
|
+
lib/rmagick4j/enum.rb
|
30
|
+
lib/rmagick4j/type_metric.rb
|
31
|
+
lib/rmagick4j/texture_fill.rb
|
34
32
|
lib/svgsalamander.jar
|
33
|
+
lib/magick4j.jar
|
35
34
|
test/implemented_methods.rb
|
36
35
|
test/RMagickTestSuite.rb
|
37
36
|
test/eyetests/bullseye.rb
|
38
|
-
test/eyetests/
|
39
|
-
test/eyetests/tests/
|
40
|
-
test/eyetests/tests/draw_circle_basic.rb
|
41
|
-
test/eyetests/tests/draw_clip_path.rb
|
42
|
-
test/eyetests/tests/draw_ellipse_affine.rb
|
43
|
-
test/eyetests/tests/draw_ellipse_basic.rb
|
44
|
-
test/eyetests/tests/draw_line_affine.rb
|
37
|
+
test/eyetests/doc.rb
|
38
|
+
test/eyetests/tests/path_c_command_01.rb
|
45
39
|
test/eyetests/tests/draw_line_basic.rb
|
46
|
-
test/eyetests/tests/
|
47
|
-
test/eyetests/tests/
|
48
|
-
test/eyetests/tests/
|
49
|
-
test/eyetests/tests/
|
40
|
+
test/eyetests/tests/gruff_stacked_bar_2.rb
|
41
|
+
test/eyetests/tests/effect_blur.rb
|
42
|
+
test/eyetests/tests/draw_clip_path.rb
|
43
|
+
test/eyetests/tests/gruff_sidestacked_bar_1.rb
|
44
|
+
test/eyetests/tests/store_pixel_smiley.rb
|
45
|
+
test/eyetests/tests/gruff_bar_1.rb
|
50
46
|
test/eyetests/tests/draw_polyline_affine.rb
|
51
|
-
test/eyetests/tests/
|
52
|
-
test/eyetests/tests/draw_pop_push_translate.rb
|
53
|
-
test/eyetests/tests/draw_rectangle_affine.rb
|
54
|
-
test/eyetests/tests/draw_rectangle_basic.rb
|
55
|
-
test/eyetests/tests/draw_rmagick_test_01.rb
|
47
|
+
test/eyetests/tests/effect_charcoal.rb
|
56
48
|
test/eyetests/tests/draw_rmagick_test_02.rb
|
49
|
+
test/eyetests/tests/path_m_command_02.rb
|
50
|
+
test/eyetests/tests/draw_circle_affine.rb
|
51
|
+
test/eyetests/tests/gruff_pie_2.rb
|
52
|
+
test/eyetests/tests/effect_negate_true.rb
|
53
|
+
test/eyetests/tests/draw_pattern_1.rb
|
54
|
+
test/eyetests/tests/draw_arc_basic.rb
|
55
|
+
test/eyetests/tests/gruff_net_1.rb
|
56
|
+
test/eyetests/tests/path_h_command_01.rb
|
57
|
+
test/eyetests/tests/path_a_command_02.rb
|
58
|
+
test/eyetests/tests/path_m_command_03.rb
|
59
|
+
test/eyetests/tests/effect_implode.rb
|
57
60
|
test/eyetests/tests/draw_rmagick_test_03.rb
|
58
|
-
test/eyetests/tests/
|
59
|
-
test/eyetests/tests/
|
61
|
+
test/eyetests/tests/gruff_scene_2.rb
|
62
|
+
test/eyetests/tests/path_h_command_02.rb
|
60
63
|
test/eyetests/tests/draw_roundrectangle_affine.rb
|
61
|
-
test/eyetests/tests/draw_roundrectangle_basic.rb
|
62
|
-
test/eyetests/tests/draw_scale_01.rb
|
63
|
-
test/eyetests/tests/draw_skewx_01.rb
|
64
|
-
test/eyetests/tests/draw_skewy_01.rb
|
65
|
-
test/eyetests/tests/draw_stroke_miterlimit.rb
|
66
|
-
test/eyetests/tests/gradient_fill_horizontal_diagonal_fill.rb
|
67
|
-
test/eyetests/tests/gradient_fill_horizontal_fill.rb
|
68
|
-
test/eyetests/tests/gradient_fill_point_fill.rb
|
69
|
-
test/eyetests/tests/gradient_fill_vertical_diagonal_fill.rb
|
70
|
-
test/eyetests/tests/gradient_fill_vertical_fill.rb
|
71
|
-
test/eyetests/tests/gruff_accumulator_bar.rb
|
72
|
-
test/eyetests/tests/gruff_area_1.rb
|
73
|
-
test/eyetests/tests/gruff_area_2.rb
|
74
|
-
test/eyetests/tests/gruff_bar_1.rb
|
75
64
|
test/eyetests/tests/gruff_bar_2.rb
|
76
|
-
test/eyetests/tests/
|
77
|
-
test/eyetests/tests/gruff_line_2.rb
|
78
|
-
test/eyetests/tests/gruff_net_1.rb
|
79
|
-
test/eyetests/tests/gruff_net_2.rb
|
80
|
-
test/eyetests/tests/gruff_pie_1.rb
|
81
|
-
test/eyetests/tests/gruff_pie_2.rb
|
82
|
-
test/eyetests/tests/gruff_scene_1.rb
|
83
|
-
test/eyetests/tests/gruff_scene_2.rb
|
84
|
-
test/eyetests/tests/gruff_sidebar.rb
|
85
|
-
test/eyetests/tests/gruff_sidestacked_bar_1.rb
|
86
|
-
test/eyetests/tests/gruff_sidestacked_bar_2.rb
|
87
|
-
test/eyetests/tests/gruff_spider_1.rb
|
88
|
-
test/eyetests/tests/gruff_spider_2.rb
|
89
|
-
test/eyetests/tests/gruff_stacked_bar_1.rb
|
90
|
-
test/eyetests/tests/gruff_stacked_bar_2.rb
|
91
|
-
test/eyetests/tests/hatch_fill.rb
|
92
|
-
test/eyetests/tests/image_list_flatten_images.rb
|
93
|
-
test/eyetests/tests/new_image.rb
|
94
|
-
test/eyetests/tests/path_a_command_01.rb
|
95
|
-
test/eyetests/tests/path_a_command_02.rb
|
96
|
-
test/eyetests/tests/path_c_command_01.rb
|
65
|
+
test/eyetests/tests/gruff_area_1.rb
|
97
66
|
test/eyetests/tests/path_c_command_02.rb
|
67
|
+
test/eyetests/tests/hatch_fill.rb
|
68
|
+
test/eyetests/tests/gruff_line_1.rb
|
98
69
|
test/eyetests/tests/path_complex_01.rb
|
99
|
-
test/eyetests/tests/path_espiral_01.rb
|
100
|
-
test/eyetests/tests/path_h_command_01.rb
|
101
|
-
test/eyetests/tests/path_h_command_02.rb
|
102
|
-
test/eyetests/tests/path_l_command_01.rb
|
103
70
|
test/eyetests/tests/path_l_command_02.rb
|
104
|
-
test/eyetests/tests/path_m_command_01.rb
|
105
|
-
test/eyetests/tests/path_m_command_02.rb
|
106
|
-
test/eyetests/tests/path_m_command_03.rb
|
107
|
-
test/eyetests/tests/path_q_command_01.rb
|
108
|
-
test/eyetests/tests/path_q_command_02.rb
|
109
71
|
test/eyetests/tests/path_q_command_03.rb
|
110
|
-
test/eyetests/tests/path_s_command_01.rb
|
111
|
-
test/eyetests/tests/path_s_command_02.rb
|
112
72
|
test/eyetests/tests/path_star_01.rb
|
73
|
+
test/eyetests/tests/gruff_stacked_area_1.rb
|
74
|
+
test/eyetests/tests/effect_normalize.rb
|
75
|
+
test/eyetests/tests/path_espiral_01.rb
|
76
|
+
test/eyetests/tests/effect_solarize.rb
|
77
|
+
test/eyetests/tests/draw_rotate_01.rb
|
78
|
+
test/eyetests/tests/gruff_area_2.rb
|
79
|
+
test/eyetests/tests/gruff_net_2.rb
|
80
|
+
test/eyetests/tests/draw_ellipse_affine.rb
|
81
|
+
test/eyetests/tests/draw_rectangle_affine.rb
|
82
|
+
test/eyetests/tests/gruff_spider_1.rb
|
83
|
+
test/eyetests/tests/gruff_pie_1.rb
|
113
84
|
test/eyetests/tests/path_t_command_01.rb
|
85
|
+
test/eyetests/tests/gruff_sidebar.rb
|
86
|
+
test/eyetests/tests/gruff_scene_1.rb
|
87
|
+
test/eyetests/tests/draw_pop_push.rb
|
88
|
+
test/eyetests/tests/draw_ellipse_basic.rb
|
89
|
+
test/eyetests/tests/draw_rmagick_test_01.rb
|
90
|
+
test/eyetests/tests/gruff_dot_1.rb
|
91
|
+
test/eyetests/tests/gradient_fill_horizontal_fill.rb
|
114
92
|
test/eyetests/tests/path_t_command_02.rb
|
115
|
-
test/eyetests/tests/path_v_command_01.rb
|
116
93
|
test/eyetests/tests/path_v_command_02.rb
|
117
|
-
test/eyetests/tests/
|
94
|
+
test/eyetests/tests/gruff_accumulator_bar.rb
|
95
|
+
test/eyetests/tests/path_l_command_01.rb
|
96
|
+
test/eyetests/tests/gruff_line_2.rb
|
97
|
+
test/eyetests/tests/path_s_command_02.rb
|
98
|
+
test/eyetests/tests/draw_multiline_type_metrics.rb
|
99
|
+
test/eyetests/tests/effect_wave.rb
|
100
|
+
test/eyetests/tests/path_q_command_01.rb
|
101
|
+
test/eyetests/tests/draw_rmagick_test_04.rb
|
102
|
+
test/eyetests/tests/draw_stroke_miterlimit.rb
|
103
|
+
test/eyetests/tests/draw_roundrectangle_basic.rb
|
104
|
+
test/eyetests/tests/gruff_spider_2.rb
|
105
|
+
test/eyetests/tests/gradient_fill_horizontal_diagonal_fill.rb
|
106
|
+
test/eyetests/tests/path_s_command_01.rb
|
107
|
+
test/eyetests/tests/image_list_flatten_images.rb
|
108
|
+
test/eyetests/tests/effect_shade.rb
|
109
|
+
test/eyetests/tests/draw_pop_push_translate.rb
|
110
|
+
test/eyetests/tests/draw_polygon_basic.rb
|
111
|
+
test/eyetests/tests/path_q_command_02.rb
|
112
|
+
test/eyetests/tests/draw_polyline_basic.rb
|
113
|
+
test/eyetests/tests/path_v_command_01.rb
|
114
|
+
test/eyetests/tests/draw_skewy_01.rb
|
115
|
+
test/eyetests/tests/gradient_fill_vertical_diagonal_fill.rb
|
116
|
+
test/eyetests/tests/gruff_sidestacked_bar_2.rb
|
117
|
+
test/eyetests/tests/path_m_command_01.rb
|
118
|
+
test/eyetests/tests/effect_edge.rb
|
119
|
+
test/eyetests/tests/draw_skewx_01.rb
|
120
|
+
test/eyetests/tests/gradient_fill_vertical_fill.rb
|
121
|
+
test/eyetests/tests/gruff_stacked_bar_1.rb
|
122
|
+
test/eyetests/tests/draw_polygon_affine.rb
|
123
|
+
test/eyetests/tests/draw_circle_basic.rb
|
124
|
+
test/eyetests/tests/new_image.rb
|
125
|
+
test/eyetests/tests/effect_negate.rb
|
118
126
|
test/eyetests/tests/texture_fill.rb
|
119
|
-
test/
|
120
|
-
test/
|
121
|
-
test/
|
122
|
-
test/
|
123
|
-
test/
|
127
|
+
test/eyetests/tests/draw_rectangle_basic.rb
|
128
|
+
test/eyetests/tests/path_a_command_01.rb
|
129
|
+
test/eyetests/tests/draw_scale_01.rb
|
130
|
+
test/eyetests/tests/gradient_fill_point_fill.rb
|
131
|
+
test/eyetests/tests/draw_line_affine.rb
|
124
132
|
test/gruff_tests/test/test_base.rb
|
125
|
-
test/gruff_tests/test/
|
126
|
-
test/gruff_tests/test/test_legend.rb
|
127
|
-
test/gruff_tests/test/test_line.rb
|
128
|
-
test/gruff_tests/test/test_mini_bar.rb
|
129
|
-
test/gruff_tests/test/test_mini_pie.rb
|
130
|
-
test/gruff_tests/test/test_mini_side_bar.rb
|
131
|
-
test/gruff_tests/test/test_net.rb
|
133
|
+
test/gruff_tests/test/test_scene.rb
|
132
134
|
test/gruff_tests/test/test_photo.rb
|
135
|
+
test/gruff_tests/test/test_legend.rb
|
136
|
+
test/gruff_tests/test/test_dot.rb
|
137
|
+
test/gruff_tests/test/test_bullet.rb
|
138
|
+
test/gruff_tests/test/test_area.rb
|
139
|
+
test/gruff_tests/test/test_bar.rb
|
133
140
|
test/gruff_tests/test/test_pie.rb
|
134
|
-
test/gruff_tests/test/
|
135
|
-
test/gruff_tests/test/
|
141
|
+
test/gruff_tests/test/test_net.rb
|
142
|
+
test/gruff_tests/test/test_mini_bar.rb
|
143
|
+
test/gruff_tests/test/test_stacked_bar.rb
|
144
|
+
test/gruff_tests/test/monkey_gruff.rb
|
145
|
+
test/gruff_tests/test/test_accumulator_bar.rb
|
146
|
+
test/gruff_tests/test/test_stacked_area.rb
|
136
147
|
test/gruff_tests/test/test_sidestacked_bar.rb
|
148
|
+
test/gruff_tests/test/test_line.rb
|
149
|
+
test/gruff_tests/test/test_side_bar.rb
|
150
|
+
test/gruff_tests/test/test_mini_side_bar.rb
|
151
|
+
test/gruff_tests/test/gruff_test_case.rb
|
152
|
+
test/gruff_tests/test/test_mini_pie.rb
|
137
153
|
test/gruff_tests/test/test_spider.rb
|
138
|
-
test/gruff_tests/test/test_stacked_bar.rb
|
139
154
|
test/spec/draw_spec.rb
|
155
|
+
test/spec/pixel_spec.rb
|
140
156
|
test/spec/image_constants.rb
|
141
157
|
test/spec/image_spec.rb
|
142
|
-
test/spec/
|
158
|
+
test/spec/stories/image_filling_steps.rb
|
159
|
+
test/spec/stories/geometry_story.rb
|
160
|
+
test/spec/stories/image_filling_story.rb
|
143
161
|
test/spec/stories/geometry_runner.rb
|
144
162
|
test/spec/stories/geometry_steps.rb
|
145
|
-
test/spec/stories/geometry_story.rb
|
146
163
|
test/spec/stories/image_filling_runner.rb
|
147
|
-
test/spec/stories/image_filling_steps.rb
|
148
|
-
test/spec/stories/image_filling_story.rb
|
149
164
|
test/images/clown.jpg
|
150
165
|
test/images/texture.jpg
|
data/lib/RMagick.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: RMagick.rb,v 1.
|
1
|
+
# $Id: RMagick.rb,v 1.80 2009/01/02 21:08:14 rmagick Exp $
|
2
2
|
#==============================================================================
|
3
3
|
# Copyright (C) 2008 by Timothy P. Hunter
|
4
4
|
# Name: RMagick.rb
|
@@ -364,6 +364,30 @@ class Draw
|
|
364
364
|
primitive "gravity #{GRAVITY_NAMES[grav.to_i]}"
|
365
365
|
end
|
366
366
|
|
367
|
+
# IM 6.4.8-3 and later
|
368
|
+
def interword_spacing(space)
|
369
|
+
begin
|
370
|
+
Float(space)
|
371
|
+
rescue ArgumentError
|
372
|
+
Kernel.raise ArgumentError, "invalid value for interword_spacing"
|
373
|
+
rescue TypeError
|
374
|
+
Kernel.raise TypeError, "can't convert #{space.class} into Float"
|
375
|
+
end
|
376
|
+
primitive "interword-spacing #{space}"
|
377
|
+
end
|
378
|
+
|
379
|
+
# IM 6.4.8-3 and later
|
380
|
+
def kerning(space)
|
381
|
+
begin
|
382
|
+
Float(space)
|
383
|
+
rescue ArgumentError
|
384
|
+
Kernel.raise ArgumentError, "invalid value for kerning"
|
385
|
+
rescue TypeError
|
386
|
+
Kernel.raise TypeError, "can't convert #{space.class} into Float"
|
387
|
+
end
|
388
|
+
primitive "kerning #{space}"
|
389
|
+
end
|
390
|
+
|
367
391
|
# Draw a line
|
368
392
|
def line(startX, startY, endX, endY)
|
369
393
|
primitive "line " + sprintf("%g,%g %g,%g", startX, startY, endX, endY)
|
@@ -734,6 +758,8 @@ end # module Magick::IPTC
|
|
734
758
|
class Image
|
735
759
|
include Comparable
|
736
760
|
|
761
|
+
alias_method :affinity, :remap
|
762
|
+
|
737
763
|
# Provide an alternate version of Draw#annotate, for folks who
|
738
764
|
# want to find it in this class.
|
739
765
|
def annotate(draw, width, height, x, y, text, &block)
|
@@ -1409,7 +1435,7 @@ public
|
|
1409
1435
|
end
|
1410
1436
|
|
1411
1437
|
[:at, :each, :each_index, :empty?, :fetch,
|
1412
|
-
:first, :hash, :include?, :index, :length, :
|
1438
|
+
:first, :hash, :include?, :index, :length, :rindex, :sort!].each do |mth|
|
1413
1439
|
module_eval <<-END_SIMPLE_DELEGATES
|
1414
1440
|
def #{mth}(*args, &block)
|
1415
1441
|
@images.#{mth}(*args, &block)
|
@@ -1418,6 +1444,13 @@ public
|
|
1418
1444
|
end
|
1419
1445
|
alias_method :size, :length
|
1420
1446
|
|
1447
|
+
# Array#nitems is not available in 1.9
|
1448
|
+
if Array.instance_methods.include?("nitems")
|
1449
|
+
def nitems()
|
1450
|
+
@images.nitems()
|
1451
|
+
end
|
1452
|
+
end
|
1453
|
+
|
1421
1454
|
def clear
|
1422
1455
|
@scene = nil
|
1423
1456
|
@images.clear
|
@@ -1467,6 +1500,9 @@ public
|
|
1467
1500
|
alias_method :map!, :collect!
|
1468
1501
|
alias_method :__map__!, :collect!
|
1469
1502
|
|
1503
|
+
# ImageMagic used affinity in 6.4.3, switch to remap in 6.4.4.
|
1504
|
+
alias_method :affinity, :remap
|
1505
|
+
|
1470
1506
|
def compact
|
1471
1507
|
current = get_current()
|
1472
1508
|
ilist = self.class.new
|
@@ -1571,11 +1607,11 @@ public
|
|
1571
1607
|
end
|
1572
1608
|
|
1573
1609
|
# Initialize new instances
|
1574
|
-
def initialize(*filenames)
|
1610
|
+
def initialize(*filenames, &block)
|
1575
1611
|
@images = []
|
1576
1612
|
@scene = nil
|
1577
1613
|
filenames.each { |f|
|
1578
|
-
Magick::Image.read(f).each { |n| @images << n }
|
1614
|
+
Magick::Image.read(f, &block).each { |n| @images << n }
|
1579
1615
|
}
|
1580
1616
|
if length > 0
|
1581
1617
|
@scene = length - 1 # last image in array
|
@@ -1621,6 +1657,19 @@ public
|
|
1621
1657
|
return a
|
1622
1658
|
end
|
1623
1659
|
|
1660
|
+
# Custom marshal/unmarshal for Ruby 1.8.
|
1661
|
+
def marshal_dump()
|
1662
|
+
ary = [@scene]
|
1663
|
+
@images.each {|i| ary << Marshal.dump(i)}
|
1664
|
+
ary
|
1665
|
+
end
|
1666
|
+
|
1667
|
+
def marshal_load(ary)
|
1668
|
+
@scene = ary.shift
|
1669
|
+
@images = []
|
1670
|
+
ary.each {|a| @images << Marshal.load(a)}
|
1671
|
+
end
|
1672
|
+
|
1624
1673
|
# The ImageList class supports the Magick::Image class methods by simply sending
|
1625
1674
|
# the method to the current image. If the method isn't explicitly supported,
|
1626
1675
|
# send it to the current image in the array. If there are no images, send
|
@@ -1833,6 +1882,37 @@ public
|
|
1833
1882
|
|
1834
1883
|
end # Magick::ImageList
|
1835
1884
|
|
1885
|
+
|
1886
|
+
# Collects non-specific optional method arguments
|
1887
|
+
class OptionalMethodArguments
|
1888
|
+
def initialize(img)
|
1889
|
+
@img = img
|
1890
|
+
end
|
1891
|
+
|
1892
|
+
# miscellaneous options like -verbose
|
1893
|
+
def method_missing(mth, val)
|
1894
|
+
@img.define(mth.to_s.tr('_', '-'), val)
|
1895
|
+
end
|
1896
|
+
|
1897
|
+
# set(key, val) corresponds to -set option:key val
|
1898
|
+
def define(key, val = nil)
|
1899
|
+
@img.define(key, val)
|
1900
|
+
end
|
1901
|
+
|
1902
|
+
# accepts Pixel object or color name
|
1903
|
+
def highlight_color=(color)
|
1904
|
+
color = @img.to_color(color) if color.respond_to?(:to_color)
|
1905
|
+
@img.define("highlight-color", color)
|
1906
|
+
end
|
1907
|
+
|
1908
|
+
# accepts Pixel object or color name
|
1909
|
+
def lowlight_color=(color)
|
1910
|
+
color = @img.to_color(color) if color.respond_to?(:to_color)
|
1911
|
+
@img.define("lowlight-color", color)
|
1912
|
+
end
|
1913
|
+
end
|
1914
|
+
|
1915
|
+
|
1836
1916
|
# Example fill class. Fills the image with the specified background
|
1837
1917
|
# color, then crosshatches with the specified crosshatch color.
|
1838
1918
|
# @dist is the number of pixels between hatch lines.
|
data/lib/magick4j.jar
CHANGED
Binary file
|
data/lib/rmagick4j/constants.rb
CHANGED
data/lib/rmagick4j/image.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
|
2
1
|
module Magick
|
3
2
|
class Image
|
4
3
|
|
@@ -52,10 +51,19 @@ module Magick
|
|
52
51
|
value = Pixel.from_color(value) if value.is_a?(String)
|
53
52
|
@image.setBackgroundColor(value)
|
54
53
|
end
|
54
|
+
|
55
|
+
def blur
|
56
|
+
@image.getBlur
|
57
|
+
end
|
55
58
|
|
59
|
+
def blur=(value)
|
60
|
+
raise TypeError, "no implicit conversion to float from #{value.class.to_s.downcase}" unless value.is_a? Numeric
|
61
|
+
@image.setBlur(value)
|
62
|
+
end
|
63
|
+
|
56
64
|
def blur_image(radius=0.0, sigma=1.0)
|
57
65
|
# Swap order on purpose. I wanted them the other way around in Magick4J.
|
58
|
-
Image.from_image(
|
66
|
+
Image.from_image(Effects.BlurEffect.new(radius,sigma).apply(_image))
|
59
67
|
end
|
60
68
|
|
61
69
|
def change_geometry(geometry)
|
@@ -72,6 +80,10 @@ module Magick
|
|
72
80
|
self
|
73
81
|
end
|
74
82
|
|
83
|
+
def charcoal(radius=0.0, sigma=1.0)
|
84
|
+
Image.from_image(Effects.CharcoalEffect.new(radius,sigma).apply(_image))
|
85
|
+
end
|
86
|
+
|
75
87
|
def columns
|
76
88
|
@image.getWidth
|
77
89
|
end
|
@@ -126,7 +138,11 @@ module Magick
|
|
126
138
|
@image.display
|
127
139
|
self
|
128
140
|
end
|
129
|
-
|
141
|
+
|
142
|
+
def edge(radius=0.0)
|
143
|
+
Image.from_image(Effects.EdgeEffect.new(radius).apply(_image))
|
144
|
+
end
|
145
|
+
|
130
146
|
def erase!
|
131
147
|
@image.erase
|
132
148
|
end
|
@@ -156,6 +172,10 @@ module Magick
|
|
156
172
|
def _image=(new_image)
|
157
173
|
@image = new_image
|
158
174
|
end
|
175
|
+
|
176
|
+
def implode(amount=0.5)
|
177
|
+
Image.from_image(Effects.ImplodeEffect.new(amount).apply(_image))
|
178
|
+
end
|
159
179
|
|
160
180
|
def _info
|
161
181
|
@info
|
@@ -171,10 +191,22 @@ module Magick
|
|
171
191
|
fill.fill(self) if fill.respond_to? :fill
|
172
192
|
end
|
173
193
|
|
194
|
+
def matte
|
195
|
+
@image.getMatte
|
196
|
+
end
|
197
|
+
|
174
198
|
def matte= matte
|
175
199
|
@image.setMatte(matte)
|
176
200
|
end
|
177
201
|
|
202
|
+
def negate(grayscale=false)
|
203
|
+
Image.from_image(Effects.NegateEffect.new(grayscale).apply(_image))
|
204
|
+
end
|
205
|
+
|
206
|
+
def normalize
|
207
|
+
Image.from_image(Effects.NormalizeEffect.new().apply(_image))
|
208
|
+
end
|
209
|
+
|
178
210
|
def quantize(number_colors=256, colorspace=RGBColorspace, dither=true, tree_depth=0, measure_error=false)
|
179
211
|
Image.from_image(@image.quantized(number_colors, colorspace._val, dither, tree_depth, measure_error))
|
180
212
|
end
|
@@ -183,6 +215,10 @@ module Magick
|
|
183
215
|
Image.from_image(@image.raised(width, height, raise))
|
184
216
|
end
|
185
217
|
|
218
|
+
def remap
|
219
|
+
# TODO: Implement. Just here to avoid warning in RMagick 2.9 file.
|
220
|
+
end
|
221
|
+
|
186
222
|
def resize(*args)
|
187
223
|
copy.resize!(*args)
|
188
224
|
end
|
@@ -225,7 +261,15 @@ module Magick
|
|
225
261
|
def rows
|
226
262
|
@image.getHeight
|
227
263
|
end
|
264
|
+
|
265
|
+
def shade(shading=false,azimuth=30,elevation=30)
|
266
|
+
Image.from_image(Effects.ShadeEffect.new(shading,azimuth,elevation).apply(_image))
|
267
|
+
end
|
228
268
|
|
269
|
+
def solarize(threshold=50)
|
270
|
+
Image.from_image(Effects.SolarizeEffect.new(threshold).apply(_image))
|
271
|
+
end
|
272
|
+
|
229
273
|
def store_pixels(x, y, columns, rows, pixels)
|
230
274
|
ria_size = columns*rows
|
231
275
|
raise IndexError, "not enough elements in array - expecting #{ria_size}, got #{pixels.size}" if pixels.size < ria_size
|
@@ -249,6 +293,10 @@ module Magick
|
|
249
293
|
self
|
250
294
|
end
|
251
295
|
|
296
|
+
def wave(amplitude=25.0, wavelength=150.0)
|
297
|
+
Image.from_image(Effects.WaveEffect.new(amplitude,wavelength).apply(_image))
|
298
|
+
end
|
299
|
+
|
252
300
|
def write(file, &add)
|
253
301
|
# TODO I'm having trouble finding out how this info is used, so I'll skip using it for now.
|
254
302
|
info = Info.new(&add)
|