pikl 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/test/sample.jpg ADDED
Binary file
@@ -0,0 +1,2 @@
1
+ require 'test/unit'
2
+ require File.dirname(__FILE__) + '/../lib/pikl'
data/test/test_pikl.rb ADDED
@@ -0,0 +1,13 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class TestPikl < Test::Unit::TestCase
4
+
5
+ def setup
6
+
7
+ end
8
+
9
+ def test_truth
10
+ assert_equal(true, true)
11
+ end
12
+
13
+ end
@@ -0,0 +1,262 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class TestPiklImage < Test::Unit::TestCase
4
+
5
+ SAMPLE_IMAGE = File.dirname(__FILE__) + '/sample.jpg'
6
+ SAMPLE_OUTPUT = File.dirname(__FILE__) + '/output.jpg'
7
+
8
+ SAMPLE_IMAGE_W = 768
9
+ SAMPLE_IMAGE_H = 1024
10
+
11
+ def setup
12
+
13
+ end
14
+
15
+ def teardown
16
+ if File.exists? SAMPLE_OUTPUT
17
+ File.delete SAMPLE_OUTPUT
18
+ end
19
+ end
20
+
21
+ def test_width_height
22
+ # + test open method without block.
23
+ img = Pikl::Image.open(SAMPLE_IMAGE)
24
+ assert_equal(SAMPLE_IMAGE_W, img.width)
25
+ assert_equal(SAMPLE_IMAGE_H, img.height)
26
+ img.close()
27
+
28
+ end
29
+
30
+ def test_trim
31
+ Pikl::Image.open(SAMPLE_IMAGE) do |img|
32
+
33
+ img.trim(0,0,:auto,:auto)
34
+ assert_equal(SAMPLE_IMAGE_W, img.width)
35
+ assert_equal(SAMPLE_IMAGE_H, img.height)
36
+ img.save(SAMPLE_OUTPUT)
37
+
38
+ Pikl::Image.open(SAMPLE_OUTPUT) do |imgout|
39
+ assert_equal(SAMPLE_IMAGE_W,imgout.width)
40
+ assert_equal(SAMPLE_IMAGE_H,imgout.height)
41
+ end
42
+
43
+ img.trim(5,10,:auto,:auto)
44
+ assert_equal(SAMPLE_IMAGE_W-5, img.width)
45
+ assert_equal(SAMPLE_IMAGE_H-10, img.height)
46
+ img.save(SAMPLE_OUTPUT)
47
+
48
+ Pikl::Image.open(SAMPLE_OUTPUT) do |imgout|
49
+ assert_equal(SAMPLE_IMAGE_W-5, imgout.width)
50
+ assert_equal(SAMPLE_IMAGE_H-10, imgout.height)
51
+ end
52
+
53
+ img.trim(0,0,-1,-3)
54
+ assert_equal(SAMPLE_IMAGE_W-5-1, img.width)
55
+ assert_equal(SAMPLE_IMAGE_H-10-3, img.height)
56
+ img.save(SAMPLE_OUTPUT)
57
+
58
+ Pikl::Image.open(SAMPLE_OUTPUT) do |imgout|
59
+ assert_equal(SAMPLE_IMAGE_W-5-1, imgout.width)
60
+ assert_equal(SAMPLE_IMAGE_H-10-3, imgout.height)
61
+ end
62
+
63
+ img.trim(2,3,4,5)
64
+ assert_equal(4, img.width)
65
+ assert_equal(5, img.height)
66
+ img.save(SAMPLE_OUTPUT)
67
+
68
+ Pikl::Image.open(SAMPLE_OUTPUT) do |imgout|
69
+ assert_equal(4, imgout.width)
70
+ assert_equal(5, imgout.height)
71
+ end
72
+
73
+ #bad args
74
+ assert_raise(Pikl::ParameterException){img.trim(0,0,0,0)}
75
+
76
+ end
77
+
78
+ end
79
+
80
+ def test_rotate
81
+ Pikl::Image.open(SAMPLE_IMAGE) do |img|
82
+
83
+ img.rotate(90)
84
+ assert_equal(SAMPLE_IMAGE_H, img.width)
85
+ assert_equal(SAMPLE_IMAGE_W, img.height)
86
+ img.save(SAMPLE_OUTPUT)
87
+
88
+ Pikl::Image.open(SAMPLE_OUTPUT) do |imgout|
89
+ assert_equal(SAMPLE_IMAGE_H,imgout.width)
90
+ assert_equal(SAMPLE_IMAGE_W,imgout.height)
91
+ end
92
+
93
+ img.rotate(90)
94
+ assert_equal(SAMPLE_IMAGE_W, img.width)
95
+ assert_equal(SAMPLE_IMAGE_H, img.height)
96
+ img.save(SAMPLE_OUTPUT)
97
+
98
+ Pikl::Image.open(SAMPLE_OUTPUT) do |imgout|
99
+ assert_equal(SAMPLE_IMAGE_W,imgout.width)
100
+ assert_equal(SAMPLE_IMAGE_H,imgout.height)
101
+ end
102
+
103
+ img.rotate(180)
104
+ assert_equal(SAMPLE_IMAGE_W, img.width)
105
+ assert_equal(SAMPLE_IMAGE_H, img.height)
106
+ img.save(SAMPLE_OUTPUT)
107
+
108
+ Pikl::Image.open(SAMPLE_OUTPUT) do |imgout|
109
+ assert_equal(SAMPLE_IMAGE_W,imgout.width)
110
+ assert_equal(SAMPLE_IMAGE_H,imgout.height)
111
+ end
112
+
113
+ img.rotate(270)
114
+ assert_equal(SAMPLE_IMAGE_H, img.width)
115
+ assert_equal(SAMPLE_IMAGE_W, img.height)
116
+ img.save(SAMPLE_OUTPUT)
117
+
118
+ Pikl::Image.open(SAMPLE_OUTPUT) do |imgout|
119
+ assert_equal(SAMPLE_IMAGE_H,imgout.width)
120
+ assert_equal(SAMPLE_IMAGE_W,imgout.height)
121
+ end
122
+
123
+ end
124
+ end
125
+
126
+ def test_resize
127
+ Pikl::Image.open(SAMPLE_IMAGE) do |img|
128
+ img.resize(50,:auto)
129
+ img.save(SAMPLE_OUTPUT)
130
+ Pikl::Image.open(SAMPLE_OUTPUT) do |imgout|
131
+ assert_equal(50,imgout.width)
132
+ assert_equal((SAMPLE_IMAGE_H*50/SAMPLE_IMAGE_W).to_i,imgout.height)
133
+ end
134
+ end
135
+ end
136
+
137
+ def test_effect
138
+ Pikl::Image.open(SAMPLE_IMAGE) do |img|
139
+ img.unshapmask(255, 10)
140
+ img.save(SAMPLE_OUTPUT)
141
+ Pikl::Image.open(SAMPLE_OUTPUT) do |imgout|
142
+ assert_equal(SAMPLE_IMAGE_W,imgout.width)
143
+ assert_equal(SAMPLE_IMAGE_H,imgout.height)
144
+ end
145
+
146
+ img.contrast(127)
147
+ img.save(SAMPLE_OUTPUT)
148
+ Pikl::Image.open(SAMPLE_OUTPUT) do |imgout|
149
+ assert_equal(SAMPLE_IMAGE_W,imgout.width)
150
+ assert_equal(SAMPLE_IMAGE_H,imgout.height)
151
+ end
152
+
153
+ img.level(1.0, 0.1, 0.95)
154
+ img.save(SAMPLE_OUTPUT)
155
+ Pikl::Image.open(SAMPLE_OUTPUT) do |imgout|
156
+ assert_equal(SAMPLE_IMAGE_W,imgout.width)
157
+ assert_equal(SAMPLE_IMAGE_H,imgout.height)
158
+ end
159
+
160
+ img.brightness(1)
161
+ img.save(SAMPLE_OUTPUT)
162
+ Pikl::Image.open(SAMPLE_OUTPUT) do |imgout|
163
+ assert_equal(SAMPLE_IMAGE_W,imgout.width)
164
+ assert_equal(SAMPLE_IMAGE_H,imgout.height)
165
+ end
166
+
167
+ img.hls(1,1,113.2)
168
+ img.save(SAMPLE_OUTPUT)
169
+ Pikl::Image.open(SAMPLE_OUTPUT) do |imgout|
170
+ assert_equal(SAMPLE_IMAGE_W,imgout.width)
171
+ assert_equal(SAMPLE_IMAGE_H,imgout.height)
172
+ end
173
+
174
+ img.gamma(1.5)
175
+ img.save(SAMPLE_OUTPUT)
176
+ Pikl::Image.open(SAMPLE_OUTPUT) do |imgout|
177
+ assert_equal(SAMPLE_IMAGE_W,imgout.width)
178
+ assert_equal(SAMPLE_IMAGE_H,imgout.height)
179
+ end
180
+ end
181
+ end
182
+
183
+ def test_validate_trim
184
+ Pikl::Image.open(SAMPLE_IMAGE) do |img|
185
+ assert_nil(img.validate_trim(0,0,1,1))
186
+
187
+ assert_raise(Pikl::ParameterException){img.validate_trim(0,0,0,0)}
188
+ assert_raise(Pikl::ParameterException){img.validate_trim(0,0,0,1)}
189
+ assert_raise(Pikl::ParameterException){img.validate_trim(0,0,1,0)}
190
+
191
+ assert_raise(Pikl::ParameterException){img.validate_trim("A",0,1,1)}
192
+ assert_raise(Pikl::ParameterException){img.validate_trim(0,"B",1,1)}
193
+ assert_raise(Pikl::ParameterException){img.validate_trim(0,0,"C",1)}
194
+ assert_raise(Pikl::ParameterException){img.validate_trim(0,0,1,"D")}
195
+
196
+ assert_nil(img.validate_trim(0,0,1,:auto))
197
+ assert_nil(img.validate_trim(0,0,:auto,1))
198
+ assert_nil(img.validate_trim(0,0,:auto,:auto))
199
+
200
+ assert_nil(img.validate_trim(0,0,1,Pikl::PIX_LIMIT))
201
+ assert_nil(img.validate_trim(0,0,Pikl::PIX_LIMIT,1))
202
+ assert_nil(img.validate_trim(0,0,Pikl::PIX_LIMIT,Pikl::PIX_LIMIT))
203
+ assert_raise(Pikl::ParameterException){img.validate_trim(0,0,1,Pikl::PIX_LIMIT+1)}
204
+ assert_raise(Pikl::ParameterException){img.validate_trim(0,0,Pikl::PIX_LIMIT+1,1)}
205
+
206
+ assert_nil(img.validate_trim(0,0,1,-1))
207
+ assert_nil(img.validate_trim(0,0,-1,1))
208
+ end
209
+
210
+ end
211
+
212
+ def test_validate_rotate
213
+ Pikl::Image.open(SAMPLE_IMAGE) do |img|
214
+
215
+ assert_raise(Pikl::ParameterException){img.validate_rotate(15)}
216
+ assert_nil(img.validate_rotate(0))
217
+ assert_nil(img.validate_rotate(90))
218
+ assert_nil(img.validate_rotate(180))
219
+ assert_nil(img.validate_rotate(270))
220
+ assert_nil(img.validate_rotate(360))
221
+
222
+ end
223
+
224
+ end
225
+
226
+ def test_validate_resize
227
+ Pikl::Image.open(SAMPLE_IMAGE) do |img|
228
+
229
+ assert_raise(Pikl::ParameterException){ img.validate_resize("hoge",900) }
230
+ assert_raise(Pikl::ParameterException){ img.validate_resize(600,"fuga") }
231
+
232
+ assert_raise(Pikl::ParameterException){img.validate_resize(30,Pikl::PIX_LIMIT+1)}
233
+ assert_raise(Pikl::ParameterException){img.validate_resize(Pikl::PIX_LIMIT+1,10)}
234
+ assert_nil(img.validate_resize(30,Pikl::PIX_LIMIT))
235
+ assert_nil(img.validate_resize(Pikl::PIX_LIMIT,10))
236
+
237
+ assert_raise(Pikl::ParameterException){img.validate_resize(30,0)}
238
+ assert_raise(Pikl::ParameterException){img.validate_resize(0,10)}
239
+ assert_nil(img.validate_resize(1,10))
240
+ assert_nil(img.validate_resize(10,1))
241
+
242
+ assert_raise(Pikl::ParameterException){img.validate_resize(:auto,:auto)}
243
+ assert_nil(img.validate_resize(600,:auto))
244
+ assert_nil(img.validate_resize(:auto,6))
245
+
246
+ end
247
+ end
248
+
249
+ def test_format
250
+ Pikl::Image.open(SAMPLE_IMAGE) do |img|
251
+ assert_equal(Pikl::JPEG, img.format)
252
+ end
253
+ end
254
+
255
+ def test_compress
256
+ Pikl::Image.open(SAMPLE_IMAGE) do |img|
257
+ img.trim(5,10,:auto,:auto)
258
+ img.save(SAMPLE_OUTPUT,Pikl::JPEG,5)
259
+ end
260
+ end
261
+
262
+ end
metadata ADDED
@@ -0,0 +1,90 @@
1
+ --- !ruby/object:Gem::Specification
2
+ rubygems_version: 0.9.2
3
+ specification_version: 1
4
+ name: pikl
5
+ version: !ruby/object:Gem::Version
6
+ version: 0.1.0
7
+ date: 2008-05-01 00:00:00 +09:00
8
+ summary: Simple Image Lib.
9
+ require_paths:
10
+ - lib
11
+ - ext
12
+ email:
13
+ - FIXME email
14
+ homepage: http://pikl.rubyforge.org
15
+ rubyforge_project: pikl
16
+ description: Simple Image Lib.
17
+ autorequire:
18
+ default_executable:
19
+ bindir: bin
20
+ has_rdoc: true
21
+ required_ruby_version: !ruby/object:Gem::Version::Requirement
22
+ requirements:
23
+ - - ">"
24
+ - !ruby/object:Gem::Version
25
+ version: 0.0.0
26
+ version:
27
+ platform: ruby
28
+ signing_key:
29
+ cert_chain:
30
+ post_install_message:
31
+ authors:
32
+ - Ryota Maruko
33
+ files:
34
+ - History.txt
35
+ - License.txt
36
+ - Manifest.txt
37
+ - README.txt
38
+ - Rakefile
39
+ - config/hoe.rb
40
+ - config/requirements.rb
41
+ - ext/pikl/extconf.rb
42
+ - ext/pikl/pikl.h
43
+ - ext/pikl/pikl_bitmap.c
44
+ - ext/pikl/pikl_bitmap.h
45
+ - ext/pikl/pikl_effect.c
46
+ - ext/pikl/pikl_effect.h
47
+ - ext/pikl/pikl_io.c
48
+ - ext/pikl/pikl_io.h
49
+ - ext/pikl/pikl_jpeg.c
50
+ - ext/pikl/pikl_jpeg.h
51
+ - ext/pikl/pikl_png.c
52
+ - ext/pikl/pikl_png.h
53
+ - ext/pikl/pikl_private.h
54
+ - ext/pikl/pikl_resize.c
55
+ - ext/pikl/pikl_resize.h
56
+ - ext/pikl/pikl_rotate.c
57
+ - ext/pikl/pikl_rotate.h
58
+ - ext/pikl/pikl_trim.c
59
+ - ext/pikl/pikl_trim.h
60
+ - lib/pikl.rb
61
+ - lib/pikl/const.rb
62
+ - lib/pikl/errors.rb
63
+ - lib/pikl/ext.rb
64
+ - lib/pikl/image.rb
65
+ - lib/pikl/version.rb
66
+ - setup.rb
67
+ - test/sample.jpg
68
+ - test/test_helper.rb
69
+ - test/test_pikl.rb
70
+ - test/test_pikl_image.rb
71
+ test_files:
72
+ - test/test_helper.rb
73
+ - test/test_pikl.rb
74
+ - test/test_pikl_image.rb
75
+ rdoc_options:
76
+ - --main
77
+ - README.txt
78
+ extra_rdoc_files:
79
+ - History.txt
80
+ - License.txt
81
+ - Manifest.txt
82
+ - README.txt
83
+ executables: []
84
+
85
+ extensions:
86
+ - ext/pikl/extconf.rb
87
+ requirements: []
88
+
89
+ dependencies: []
90
+