image_size 2.0.2 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +20 -4
- data/.rubocop_todo.yml +11 -8
- data/.travis.yml +12 -9
- data/CHANGELOG.markdown +5 -0
- data/README.markdown +1 -1
- data/image_size.gemspec +4 -4
- data/lib/image_size.rb +111 -24
- data/spec/image_size_spec.rb +5 -0
- data/spec/images/cur/32x256.cur +0 -0
- data/spec/images/ico/32x256.ico +0 -0
- data/spec/images/jp2/163x402.jp2 +0 -0
- data/spec/images/jp2/176x373.jpx +0 -0
- data/spec/images/jp2/224x293.j2c +0 -0
- data/spec/images/jpeg/436x429.jpeg +0 -0
- data/spec/images/jpeg/extraneous-bytes.436x429.jpeg +0 -0
- data/spec/images/mng/61x42.mng +0 -0
- data/spec/images/{apng → png}/192x110.apng +0 -0
- data/spec/images/pnm/22x25.pam +8 -0
- data/spec/images/pnm/22x25.pbm +0 -0
- data/spec/images/pnm/22x25.pgm +4 -0
- data/spec/images/pnm/22x25.ppm +4 -0
- data/spec/images/pnm/ascii.22x25.pbm +27 -0
- data/spec/images/pnm/ascii.22x25.pgm +28 -0
- data/spec/images/pnm/ascii.22x25.ppm +28 -0
- data/spec/images/tiff/big-endian.68x49.tiff +0 -0
- data/spec/images/tiff/little-endian.40x68.tiff +0 -0
- metadata +53 -29
- data/spec/images/cur/50x256.cur +0 -0
- data/spec/images/ico/256x27.ico +0 -0
- data/spec/images/jpeg/320x240.jpeg +0 -0
- data/spec/images/jpeg/extraneous-bytes.320x240.jpeg +0 -0
- data/spec/images/mng/612x132.mng +0 -0
- data/spec/images/pbm/85x55.pbm +0 -0
- data/spec/images/pgm/90x55.pgm +0 -5
- data/spec/images/tiff/48x64.tiff +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9ecfd6172b63860fd5e18bf96cdfc79c7ab275f52643d6069ef4386978a70187
|
4
|
+
data.tar.gz: c0be8f8fea7b00fb2ad849598fb461238942a836f89dd63edc452432637e1fd5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1536d248784158f8163a3fd7cde488af4a5dbd6e5ccfde7e40e491f5679db4bdd87a0834de00c077d3312090e36c677d6df29fed85cd3b45596b1303831fb33b
|
7
|
+
data.tar.gz: 2251c45b938da475db4a03ea570bdc3e2b513309817a874c9e0b4b458b83d67f7687af691a84a6f98aaa39de6241a5e4dc8f8177552f0ac9e051b494626398e0
|
data/.rubocop.yml
CHANGED
@@ -3,6 +3,7 @@ inherit_from: .rubocop_todo.yml
|
|
3
3
|
AllCops:
|
4
4
|
Exclude:
|
5
5
|
- '*.gemspec'
|
6
|
+
NewCops: enable
|
6
7
|
|
7
8
|
Layout/AccessModifierIndentation:
|
8
9
|
EnforcedStyle: outdent
|
@@ -13,6 +14,9 @@ Layout/CaseIndentation:
|
|
13
14
|
Layout/EndAlignment:
|
14
15
|
EnforcedStyleAlignWith: variable
|
15
16
|
|
17
|
+
Layout/LineLength:
|
18
|
+
Max: 120
|
19
|
+
|
16
20
|
Layout/SpaceBeforeBlockBraces:
|
17
21
|
EnforcedStyle: no_space
|
18
22
|
EnforcedStyleForEmptyBraces: no_space
|
@@ -27,13 +31,13 @@ Metrics/BlockLength:
|
|
27
31
|
Metrics/ClassLength:
|
28
32
|
Enabled: false
|
29
33
|
|
30
|
-
Metrics/LineLength:
|
31
|
-
Max: 120
|
32
|
-
|
33
34
|
Metrics/MethodLength:
|
34
35
|
Enabled: false
|
35
36
|
|
36
|
-
Naming/
|
37
|
+
Naming/MethodParameterName:
|
38
|
+
Enabled: false
|
39
|
+
|
40
|
+
Style/AccessorGrouping:
|
37
41
|
Enabled: false
|
38
42
|
|
39
43
|
Style/Alias:
|
@@ -45,9 +49,18 @@ Style/EmptyCaseCondition:
|
|
45
49
|
Style/Encoding:
|
46
50
|
Enabled: false
|
47
51
|
|
52
|
+
Style/HashEachMethods:
|
53
|
+
Enabled: true
|
54
|
+
|
48
55
|
Style/HashSyntax:
|
49
56
|
EnforcedStyle: hash_rockets
|
50
57
|
|
58
|
+
Style/HashTransformKeys:
|
59
|
+
Enabled: false
|
60
|
+
|
61
|
+
Style/HashTransformValues:
|
62
|
+
Enabled: false
|
63
|
+
|
51
64
|
Style/IfUnlessModifier:
|
52
65
|
Enabled: false
|
53
66
|
|
@@ -62,3 +75,6 @@ Style/TrailingCommaInArrayLiteral:
|
|
62
75
|
|
63
76
|
Style/TrailingCommaInHashLiteral:
|
64
77
|
EnforcedStyleForMultiline: comma
|
78
|
+
|
79
|
+
Style/UnpackFirst:
|
80
|
+
Enabled: false
|
data/.rubocop_todo.yml
CHANGED
@@ -1,24 +1,27 @@
|
|
1
1
|
# This configuration was generated by
|
2
|
-
# `rubocop --auto-gen-config`
|
3
|
-
#
|
2
|
+
# `rubocop --auto-gen-config --no-auto-gen-timestamp`
|
3
|
+
# using RuboCop version 0.89.0.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
8
8
|
|
9
|
-
# Offense count:
|
9
|
+
# Offense count: 8
|
10
|
+
# Configuration parameters: IgnoredMethods.
|
10
11
|
Metrics/AbcSize:
|
11
|
-
Max:
|
12
|
+
Max: 43
|
12
13
|
|
13
|
-
# Offense count:
|
14
|
+
# Offense count: 5
|
15
|
+
# Configuration parameters: IgnoredMethods.
|
14
16
|
Metrics/CyclomaticComplexity:
|
15
|
-
Max:
|
17
|
+
Max: 21
|
16
18
|
|
17
19
|
# Offense count: 2
|
20
|
+
# Configuration parameters: IgnoredMethods.
|
18
21
|
Metrics/PerceivedComplexity:
|
19
|
-
Max:
|
22
|
+
Max: 21
|
20
23
|
|
21
|
-
# Offense count:
|
24
|
+
# Offense count: 8
|
22
25
|
# Cop supports --auto-correct.
|
23
26
|
Style/PerlBackrefs:
|
24
27
|
Exclude:
|
data/.travis.yml
CHANGED
@@ -1,24 +1,27 @@
|
|
1
1
|
sudo: false
|
2
|
+
dist: trusty
|
2
3
|
language: ruby
|
3
4
|
before_install:
|
4
5
|
- gem install bundler || gem install bundler --version '< 2'
|
5
6
|
rvm:
|
6
|
-
- '1.8.7-
|
7
|
+
- '1.8.7-p374'
|
7
8
|
- '1.9.3-p551'
|
8
9
|
- '2.0.0-p648'
|
9
10
|
- '2.1.10'
|
10
11
|
- '2.2.10'
|
11
12
|
- '2.3.8'
|
12
|
-
- '2.4.
|
13
|
-
- '2.5.
|
14
|
-
- '2.6.
|
15
|
-
- '
|
13
|
+
- '2.4.10'
|
14
|
+
- '2.5.8'
|
15
|
+
- '2.6.6'
|
16
|
+
- '2.7.1'
|
17
|
+
- 'jruby-9.1.17.0'
|
18
|
+
- 'jruby-9.2.11.1'
|
16
19
|
script: bundle exec rspec
|
17
20
|
matrix:
|
18
21
|
include:
|
19
|
-
- env: RUBOCOP
|
20
|
-
rvm: '2.6.
|
22
|
+
- env: RUBOCOP=1
|
23
|
+
rvm: '2.6.6'
|
21
24
|
script: bundle exec rubocop
|
22
|
-
- env: CHECK_RUBIES
|
23
|
-
rvm: '2.6.
|
25
|
+
- env: CHECK_RUBIES=1
|
26
|
+
rvm: '2.6.6'
|
24
27
|
script: bundle exec travis_check_rubies
|
data/CHANGELOG.markdown
CHANGED
@@ -2,6 +2,11 @@
|
|
2
2
|
|
3
3
|
## unreleased
|
4
4
|
|
5
|
+
## v2.1.0 (2020-08-09)
|
6
|
+
|
7
|
+
* Add handling of JPEG 2000: part 1 (jp2), part 2 (jpx) and codestream (j2c) [#13](https://github.com/toy/image_size/issues/13) [@toy](https://github.com/toy)
|
8
|
+
* Correct handling of pam images and cleanup handling of Netpbm images (pbm, pgm, pnm) [@toy](https://github.com/toy)
|
9
|
+
|
5
10
|
## v2.0.2 (2019-07-14)
|
6
11
|
|
7
12
|
* Remove deprecated `rubyforge_project` attribute from gemspec [rubygems/rubygems#2436](https://github.com/rubygems/rubygems/pull/2436) [@toy](https://github.com/toy)
|
data/README.markdown
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
# image_size
|
5
5
|
|
6
6
|
measure image size using pure Ruby
|
7
|
-
formats: `apng`, `bmp`, `cur`, `gif`, `jpeg`, `
|
7
|
+
formats: `apng`, `bmp`, `cur`, `gif`, `ico`, `j2c`, `jp2`, `jpeg`, `jpx`, `mng`, `pam`, `pbm`, `pcx`, `pgm`, `png`, `ppm`, `psd`, `svg`, `swf`, `tiff`, `webp`, `xbm`, `xpm`
|
8
8
|
|
9
9
|
## Installation
|
10
10
|
|
data/image_size.gemspec
CHANGED
@@ -2,10 +2,10 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = 'image_size'
|
5
|
-
s.version = '2.0
|
5
|
+
s.version = '2.1.0'
|
6
6
|
s.summary = %q{Measure image size using pure Ruby}
|
7
|
-
s.description = %q{Measure following file dimensions: apng, bmp, cur, gif, jpeg,
|
8
|
-
s.homepage = "
|
7
|
+
s.description = %q{Measure following file dimensions: apng, bmp, cur, gif, ico, j2c, jp2, jpeg, jpx, mng, pam, pbm, pcx, pgm, png, ppm, psd, svg, swf, tiff, webp, xbm, xpm}
|
8
|
+
s.homepage = "https://github.com/toy/#{s.name}"
|
9
9
|
s.authors = ['Keisuke Minami', 'Ivan Kuchin']
|
10
10
|
s.license = 'Ruby'
|
11
11
|
|
@@ -23,6 +23,6 @@ Gem::Specification.new do |s|
|
|
23
23
|
|
24
24
|
s.add_development_dependency 'rspec', '~> 3.0'
|
25
25
|
if RUBY_VERSION >= '2.2'
|
26
|
-
s.add_development_dependency 'rubocop', '~> 0.59'
|
26
|
+
s.add_development_dependency 'rubocop', '~> 0.59', '!= 0.78.0'
|
27
27
|
end
|
28
28
|
end
|
data/lib/image_size.rb
CHANGED
@@ -17,6 +17,7 @@ class ImageSize
|
|
17
17
|
|
18
18
|
class ImageReader # :nodoc:
|
19
19
|
attr_reader :data
|
20
|
+
|
20
21
|
def initialize(data_or_io)
|
21
22
|
@io = if data_or_io.is_a?(String)
|
22
23
|
StringIO.new(data_or_io)
|
@@ -84,28 +85,28 @@ class ImageSize
|
|
84
85
|
private
|
85
86
|
|
86
87
|
SVG_R = /<svg\b([^>]*)>/.freeze
|
88
|
+
XML_R = /<\?xml|<!--/.freeze
|
87
89
|
def detect_format(ir)
|
88
90
|
head = ir[0, 1024]
|
89
91
|
case
|
90
|
-
when head[0, 6] =~ /GIF8[79]a/
|
91
|
-
when head[0, 8] == "\211PNG\r\n\032\n"
|
92
|
-
when head[0, 8] == "\212MNG\r\n\032\n"
|
93
|
-
when head[0, 2] == "\377\330"
|
94
|
-
when head[0, 2] == 'BM'
|
95
|
-
when head[0,
|
96
|
-
when head =~ /\#define\s+\S+\s+\d+/
|
97
|
-
when head[0, 4]
|
98
|
-
when head
|
99
|
-
when head
|
100
|
-
when head[0,
|
101
|
-
when head[0,
|
102
|
-
when head[
|
103
|
-
|
104
|
-
|
105
|
-
when head[0,
|
106
|
-
when head[0, 12]
|
107
|
-
when head[0, 4] == "\
|
108
|
-
when head[0, 4] == "\000\000\002\000" then :cur
|
92
|
+
when head[0, 6] =~ /GIF8[79]a/ then :gif
|
93
|
+
when head[0, 8] == "\211PNG\r\n\032\n" then detect_png_type(ir)
|
94
|
+
when head[0, 8] == "\212MNG\r\n\032\n" then :mng
|
95
|
+
when head[0, 2] == "\377\330" then :jpeg
|
96
|
+
when head[0, 2] == 'BM' then :bmp
|
97
|
+
when head[0, 3] =~ /P[1-6]\s|P7\n/ then detect_pnm_type(ir)
|
98
|
+
when head =~ /\#define\s+\S+\s+\d+/ then :xbm
|
99
|
+
when %W[II*\0 MM\0*].include?(head[0, 4]) then :tiff
|
100
|
+
when head =~ %r{/\* XPM \*/} then :xpm
|
101
|
+
when head[0, 4] == '8BPS' then :psd
|
102
|
+
when head[0, 3] =~ /[FC]WS/ then :swf
|
103
|
+
when head =~ SVG_R || (head =~ XML_R && ir[0, 4096][SVG_R]) then :svg
|
104
|
+
when head[0, 2] =~ /\n[\0-\5]/ then :pcx
|
105
|
+
when head[0, 12] =~ /RIFF(?m:....)WEBP/ then :webp
|
106
|
+
when head[0, 4] == "\0\0\1\0" then :ico
|
107
|
+
when head[0, 4] == "\0\0\2\0" then :cur
|
108
|
+
when head[0, 12] == "\0\0\0\fjP \r\n\207\n" then detect_jpeg2000_type(ir)
|
109
|
+
when head[0, 4] == "\377O\377Q" then :j2c
|
109
110
|
end
|
110
111
|
end
|
111
112
|
|
@@ -122,6 +123,26 @@ private
|
|
122
123
|
:png
|
123
124
|
end
|
124
125
|
|
126
|
+
def detect_pnm_type(ir)
|
127
|
+
case ir[0, 2]
|
128
|
+
when 'P1', 'P4' then :pbm
|
129
|
+
when 'P2', 'P5' then :pgm
|
130
|
+
when 'P3', 'P6' then :ppm
|
131
|
+
when 'P7' then :pam
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
def detect_jpeg2000_type(ir)
|
136
|
+
return unless ir[16, 4] == 'ftyp'
|
137
|
+
|
138
|
+
# using xl-box would be weird, but doesn't seem to contradict specification
|
139
|
+
skip = ir[12, 4] == "\0\0\0\1" ? 16 : 8
|
140
|
+
case ir[12 + skip, 4]
|
141
|
+
when 'jp2 ' then :jp2
|
142
|
+
when 'jpx ' then :jpx
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
125
146
|
def size_of_gif(ir)
|
126
147
|
ir[6, 4].unpack('vv')
|
127
148
|
end
|
@@ -187,12 +208,38 @@ private
|
|
187
208
|
header = ir[0, 1024]
|
188
209
|
header.gsub!(/^\#[^\n\r]*/m, '')
|
189
210
|
header =~ /^(P[1-6])\s+?(\d+)\s+?(\d+)/m
|
190
|
-
case $1
|
191
|
-
when 'P1', 'P4' then @format = :pbm
|
192
|
-
when 'P2', 'P5' then @format = :pgm
|
193
|
-
end
|
194
211
|
[$2.to_i, $3.to_i]
|
195
212
|
end
|
213
|
+
alias_method :size_of_pbm, :size_of_ppm
|
214
|
+
alias_method :size_of_pgm, :size_of_ppm
|
215
|
+
|
216
|
+
def size_of_pam(ir)
|
217
|
+
width = height = nil
|
218
|
+
offset = 3
|
219
|
+
loop do
|
220
|
+
if ir[offset, 1] == '#'
|
221
|
+
offset += 1 until ["\n", '', nil].include?(ir[offset, 1])
|
222
|
+
offset += 1
|
223
|
+
else
|
224
|
+
chunk = ir[offset, 32]
|
225
|
+
case chunk
|
226
|
+
when /\AWIDTH (\d+)\n/
|
227
|
+
width = $1.to_i
|
228
|
+
when /\AHEIGHT (\d+)\n/
|
229
|
+
height = $1.to_i
|
230
|
+
when /\AENDHDR\n/
|
231
|
+
break
|
232
|
+
when /\A(?:DEPTH|MAXVAL) \d+\n/, /\ATUPLTYPE \S+\n/
|
233
|
+
# ignore
|
234
|
+
else
|
235
|
+
raise FormatError, "Unexpected data in PAM header: #{chunk.inspect}"
|
236
|
+
end
|
237
|
+
offset += $&.length
|
238
|
+
break if width && height
|
239
|
+
end
|
240
|
+
end
|
241
|
+
[width, height]
|
242
|
+
end
|
196
243
|
|
197
244
|
def size_of_xbm(ir)
|
198
245
|
ir[0, 1024] =~ /^\#define\s*\S*\s*(\d+)\s*\n\#define\s*\S*\s*(\d+)/mi
|
@@ -255,7 +302,7 @@ private
|
|
255
302
|
value_bit_length = ir[8, 1].unpack('B5').first.to_i(2)
|
256
303
|
bit_length = 5 + value_bit_length * 4
|
257
304
|
rect_bits = ir[8, bit_length / 8 + 1].unpack("B#{bit_length}").first
|
258
|
-
values = rect_bits.unpack(
|
305
|
+
values = rect_bits[5..-1].unpack("a#{value_bit_length}" * 4).map{ |bits| bits.to_i(2) }
|
259
306
|
x_min, x_max, y_min, y_max = values
|
260
307
|
[(x_max - x_min) / 20, (y_max - y_min) / 20]
|
261
308
|
end
|
@@ -299,4 +346,44 @@ private
|
|
299
346
|
[(w16 | w8 << 16) + 1, (h16 | h8 << 16) + 1]
|
300
347
|
end
|
301
348
|
end
|
349
|
+
|
350
|
+
def size_of_jp2(ir)
|
351
|
+
offset = 12
|
352
|
+
stop = nil
|
353
|
+
in_header = false
|
354
|
+
loop do
|
355
|
+
break if stop && offset >= stop
|
356
|
+
break if ir[offset, 4] == '' || ir[offset, 4].nil?
|
357
|
+
|
358
|
+
size = ir[offset, 4].unpack('N')[0]
|
359
|
+
type = ir[offset + 4, 4]
|
360
|
+
|
361
|
+
data_offset = 8
|
362
|
+
case size
|
363
|
+
when 1
|
364
|
+
size = ir[offset, 8].unpack('Q>')[0]
|
365
|
+
data_offset = 16
|
366
|
+
raise FormatError, "Unexpected xl-box size #{size}" if (1..15).include?(size)
|
367
|
+
when 2..7
|
368
|
+
raise FormatError, "Reserved box size #{size}"
|
369
|
+
end
|
370
|
+
|
371
|
+
if type == 'jp2h'
|
372
|
+
stop = offset + size unless size.zero?
|
373
|
+
offset += data_offset
|
374
|
+
in_header = true
|
375
|
+
elsif in_header && type == 'ihdr'
|
376
|
+
return ir[offset + data_offset, 8].unpack('NN').reverse
|
377
|
+
else
|
378
|
+
break if size.zero? # box to the end of file
|
379
|
+
|
380
|
+
offset += size
|
381
|
+
end
|
382
|
+
end
|
383
|
+
end
|
384
|
+
alias_method :size_of_jpx, :size_of_jp2
|
385
|
+
|
386
|
+
def size_of_j2c(ir)
|
387
|
+
ir[8, 8].unpack('NN')
|
388
|
+
end
|
302
389
|
end
|
data/spec/image_size_spec.rb
CHANGED
@@ -5,7 +5,12 @@ require 'image_size'
|
|
5
5
|
require 'tempfile'
|
6
6
|
|
7
7
|
describe ImageSize do
|
8
|
+
MAX_FILESIZE = 16_384
|
9
|
+
|
8
10
|
(Dir['spec/images/*/*.*'] + [__FILE__]).each do |path|
|
11
|
+
filesize = File.size(path)
|
12
|
+
warn "#{path} is too big #{filesize} (max #{MAX_FILESIZE})" if filesize > MAX_FILESIZE
|
13
|
+
|
9
14
|
describe "for #{path}" do
|
10
15
|
let(:name){ File.basename(path) }
|
11
16
|
let(:attributes) do
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
File without changes
|
@@ -0,0 +1,8 @@
|
|
1
|
+
P7
|
2
|
+
WIDTH 22
|
3
|
+
HEIGHT 25
|
4
|
+
DEPTH 3
|
5
|
+
MAXVAL 255
|
6
|
+
TUPLTYPE RGB
|
7
|
+
ENDHDR
|
8
|
+
JMRGJONQVKNSRVZY^b{��|��osyz����Ǎ��v|�������UY_ORT�^_�ts�_b`FH�`aDGLHJPJMQfjnflplqu}�����u{�������nsw[`d]bgqv}aej>AFLLO�`c�ro�bdxORlsvZ_ccknS[^imrwz��������������ɑ��UY]���u{~��glosz~X^b�_^�li�lk���dimORWORWRUZY\a������������������UW\������]`ehmqOPU>AHfOR�lj�kjv}�KNSKOREILEIMTX[LQUAEJHJOZ]a_di���muz������=<BSUZrv|���}pt�jh�liPWZGJOIMPEILDHK=AE`eiuz~������}��������������XZ_MMR[^e�������ed�heHKPPSWFKNAFIMRV`hk���������nuxW\`V[_CHLu|����[^dBBGDHMBEJomr�hf�geJMSZ\aDILekn������dimPUYMNSBBGCDIFGLDEJ]`f���chlDGLT\^EMQ]MQ�ji�ecoehXadJMR���Y]a_afcdjORWKNTMTYJNRFFICCG]`d���z�==BFGLAEK�VX�ki�ec�nrLQWNSZdjmkqtBBHABGPX]^ltScgIMPCDHJJNQTX�����JKPPSX_^d�__�jf�ca�st�_bjX[jsw���^eh=@EIPUQX^RW\UY]JNR@AEegn���v{FFLmuy�]_�ec�gd�ca�zx�zx�po�cg~����y��YZ^CEIEGKSUZejnMRUZ]b���osxADIm[_�_`�ca�ec�db�st�|}�zy�vt�gh�ot�����Ϣ��ehlEGLX]`PRVX[_���dek7<@�RT�b_�a_�`^�ca�ux�{~�|z�yv�{w�rp�ii�����������ntwDDIgjn���`cjSSW�^^�gd�b`�`^�b`�yv�wx�xu�|x�yu�vs�vs�oo�ii�km������FHMimq���QX_x`d�fe�fb�da�b`�ca�wu�rp�vt�us�tr�vs�ts�sr�po�uv�ml�x|V[_gin���OU[�Z\�fc�ea�db�ca�b`�zx�tq�vt�us�wt�vs�wt�sq�rr�st�sq�giTX\SVZ���fbg�ce�eb�ca�ec�db�ec�yu�ur�sq�sr�vs�xu�xs�tq�xt�ws�xt�ihKMRchm���]NP�ge�eb�ca�db�ec�fd�zv�sq�rq�sr�rp�xu�so�rp�tq�qn�uq�bcHIN\bgo|�wQU�jh�fd�ca�b`�ca�ec�zy�xt�tr�vs�sr�sr�tq�sp�rp�kj�mk�^^HLPLOTfqv�UV�jf�ec�db�b`�cb�ca�ss�{w�us�tr�ur�wt�tq�qo�ro�lj�on�ZZ=BFNNTRZ_�YY�ie�db�db�`_�_^�`_�ij�~|�vs�ur�sq�pn�qo�ol�ji�mj�qn�Z]CFL]_dLIN�aa�fb�ca�cb�a`�__�]^x_^�{x�ws�wt�sp�pn�po�lknZ^�lk�pmxXYDINkrwkUX�mj�db�fdX[�Y\�`_�]]�gi�vs�us�xu�tr�nk�lj�nk�jj�mk�kjlPR?CGGIP�bb�pm�fd�da�Y\�]]�b_�`_�ru�ml�ur�wu�tr�pk�lg�oi�oj�pl�kiaMO;@EPGI�kj�he�fd�fc�b`�a^�b`�_^
|
Binary file
|
@@ -0,0 +1,4 @@
|
|
1
|
+
P5
|
2
|
+
22 25
|
3
|
+
255
|
4
|
+
MJQNU]��sÑ{��YRh�mLmGJMikp��z��r_aueALi�rXr^jZmz����ŗX�z�ky]k��hRRU\������W��`lPAT~|NNHHWPEJ]c�t��=Uv�s|VJLHG@dy�������ZM^��v|KSJEQg���t[ZG{�^BHEnx{M\Hj��hTNBDGE`�gGZLQ}yg_M�\adRNSMFC`�~=GE_yzPRipBBWj`LDJT��KS_n~w�i\q�d@OWVXMAg�zFtgz{w���j��ZEGUiQ]�sD_rwyx|���ss�ͩhG\R[�e;]wutw������u����sDj�cSm{vtv��������{w��Hl�We{zxvw����������~{Zi�Te{yxwv�����������qWV�ctywyxy�����������rMg�Qzywxyz�����������lIazY~zwvwy���������~�gKOo_yxvww~���������cANYe~xxutup�������w�cF_Jq{wxvtsd������x_�_HqZ�xzahvrm�����{�~VBIl�zweowu{{�������~Q?I||zzwuvt
|
@@ -0,0 +1,4 @@
|
|
1
|
+
P6
|
2
|
+
22 25
|
3
|
+
255
|
4
|
+
JMRGJONQVKNSRVZY^b{��|��osyz����Ǎ��v|�������UY_ORT�^_�ts�_b`FH�`aDGLHJPJMQfjnflplqu}�����u{�������nsw[`d]bgqv}aej>AFLLO�`c�ro�bdxORlsvZ_ccknS[^imrwz��������������ɑ��UY]���u{~��glosz~X^b�_^�li�lk���dimORWORWRUZY\a������������������UW\������]`ehmqOPU>AHfOR�lj�kjv}�KNSKOREILEIMTX[LQUAEJHJOZ]a_di���muz������=<BSUZrv|���}pt�jh�liPWZGJOIMPEILDHK=AE`eiuz~������}��������������XZ_MMR[^e�������ed�heHKPPSWFKNAFIMRV`hk���������nuxW\`V[_CHLu|����[^dBBGDHMBEJomr�hf�geJMSZ\aDILekn������dimPUYMNSBBGCDIFGLDEJ]`f���chlDGLT\^EMQ]MQ�ji�ecoehXadJMR���Y]a_afcdjORWKNTMTYJNRFFICCG]`d���z�==BFGLAEK�VX�ki�ec�nrLQWNSZdjmkqtBBHABGPX]^ltScgIMPCDHJJNQTX�����JKPPSX_^d�__�jf�ca�st�_bjX[jsw���^eh=@EIPUQX^RW\UY]JNR@AEegn���v{FFLmuy�]_�ec�gd�ca�zx�zx�po�cg~����y��YZ^CEIEGKSUZejnMRUZ]b���osxADIm[_�_`�ca�ec�db�st�|}�zy�vt�gh�ot�����Ϣ��ehlEGLX]`PRVX[_���dek7<@�RT�b_�a_�`^�ca�ux�{~�|z�yv�{w�rp�ii�����������ntwDDIgjn���`cjSSW�^^�gd�b`�`^�b`�yv�wx�xu�|x�yu�vs�vs�oo�ii�km������FHMimq���QX_x`d�fe�fb�da�b`�ca�wu�rp�vt�us�tr�vs�ts�sr�po�uv�ml�x|V[_gin���OU[�Z\�fc�ea�db�ca�b`�zx�tq�vt�us�wt�vs�wt�sq�rr�st�sq�giTX\SVZ���fbg�ce�eb�ca�ec�db�ec�yu�ur�sq�sr�vs�xu�xs�tq�xt�ws�xt�ihKMRchm���]NP�ge�eb�ca�db�ec�fd�zv�sq�rq�sr�rp�xu�so�rp�tq�qn�uq�bcHIN\bgo|�wQU�jh�fd�ca�b`�ca�ec�zy�xt�tr�vs�sr�sr�tq�sp�rp�kj�mk�^^HLPLOTfqv�UV�jf�ec�db�b`�cb�ca�ss�{w�us�tr�ur�wt�tq�qo�ro�lj�on�ZZ=BFNNTRZ_�YY�ie�db�db�`_�_^�`_�ij�~|�vs�ur�sq�pn�qo�ol�ji�mj�qn�Z]CFL]_dLIN�aa�fb�ca�cb�a`�__�]^x_^�{x�ws�wt�sp�pn�po�lknZ^�lk�pmxXYDINkrwkUX�mj�db�fdX[�Y\�`_�]]�gi�vs�us�xu�tr�nk�lj�nk�jj�mk�kjlPR?CGGIP�bb�pm�fd�da�Y\�]]�b_�`_�ru�ml�ur�wu�tr�pk�lg�oi�oj�pl�kiaMO;@EPGI�kj�he�fd�fc�b`�a^�b`�_^
|
@@ -0,0 +1,27 @@
|
|
1
|
+
P1
|
2
|
+
22 25
|
3
|
+
1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 1 1 1 1 1 1 1
|
4
|
+
1 1 1 1 1 1 0 0 1 0 0 0 0 1 0 1 1 1 1 1 1 1
|
5
|
+
1 1 1 1 1 1 0 0 0 0 0 0 1 0 1 0 1 1 1 1 1 0
|
6
|
+
1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 1 1 1 1 1 0 1
|
7
|
+
1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 1 1 1 1 1 0
|
8
|
+
1 1 1 1 1 1 1 1 0 0 1 1 0 0 0 1 1 1 0 0 1 1
|
9
|
+
1 1 1 1 1 1 0 0 0 1 1 1 1 0 0 1 1 1 1 1 0 1
|
10
|
+
1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0
|
11
|
+
1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
|
12
|
+
1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
|
13
|
+
1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 0 0
|
14
|
+
0 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1
|
15
|
+
1 0 0 0 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1
|
16
|
+
0 0 1 0 0 0 1 0 0 0 1 1 1 1 0 1 1 1 1 1 1 1
|
17
|
+
0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 0 1 1 0
|
18
|
+
0 0 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 0 1 0 1 1
|
19
|
+
1 0 0 1 0 1 0 0 1 0 0 1 1 1 0 1 1 1 0 1 1 0
|
20
|
+
0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 1 0 1 0 0 1
|
21
|
+
1 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 1 1 0 1
|
22
|
+
0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 0 0 1 1 1
|
23
|
+
1 0 0 1 1 0 1 0 0 1 0 1 1 1 1 1 1 0 0 1 1 1
|
24
|
+
1 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1
|
25
|
+
1 0 0 0 0 1 0 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1
|
26
|
+
1 0 1 0 0 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 0 0
|
27
|
+
1 0 0 1 0 0 1 0 1 0 1 1 1 1 1 1 1 1 0 1 1 0
|
@@ -0,0 +1,28 @@
|
|
1
|
+
P2
|
2
|
+
22 25
|
3
|
+
255
|
4
|
+
77 74 81 78 85 93 129 129 115 127 195 145 123 169 147 89 82 104 135 109 76 109
|
5
|
+
71 74 77 105 107 112 132 169 122 151 204 114 95 97 117 101 65 76 105 133 114 88
|
6
|
+
114 94 106 90 109 122 165 164 178 187 197 151 88 134 122 130 107 121 93 107 128 127
|
7
|
+
158 104 82 82 85 92 144 155 154 180 157 183 87 182 145 96 108 80 65 84 127 126
|
8
|
+
124 78 78 72 72 87 80 69 74 93 99 157 116 160 139 61 85 118 141 115 124 127
|
9
|
+
86 74 76 72 71 64 100 121 139 170 132 142 154 182 160 90 77 94 142 145 118 124
|
10
|
+
75 83 74 69 81 103 137 170 158 116 91 90 71 123 173 94 66 72 69 110 120 123
|
11
|
+
77 92 72 106 138 140 104 84 78 66 68 71 69 96 161 103 71 90 76 81 125 121
|
12
|
+
103 95 77 134 92 97 100 82 78 83 77 70 67 96 185 126 61 71 69 95 127 121
|
13
|
+
122 80 82 105 112 66 66 87 106 96 76 68 74 84 180 130 75 83 95 110 126 119
|
14
|
+
131 105 92 113 140 100 64 79 87 86 88 77 65 103 189 122 70 116 103 122 123 119
|
15
|
+
138 138 128 106 127 158 128 90 69 71 85 105 81 93 191 115 68 95 114 119 121 120
|
16
|
+
124 142 140 137 115 115 168 205 169 104 71 92 82 91 185 101 59 93 119 117 116 119
|
17
|
+
131 140 140 138 140 131 117 132 146 166 148 115 68 106 192 99 83 109 123 118 116 118
|
18
|
+
138 137 137 140 138 135 136 129 123 119 138 140 72 108 178 87 101 123 122 120 118 119
|
19
|
+
136 132 136 135 134 135 134 134 128 133 126 123 90 105 177 84 101 123 121 120 119 118
|
20
|
+
138 134 136 135 136 135 136 133 131 132 134 113 87 86 163 99 116 121 119 121 120 121
|
21
|
+
137 134 133 133 135 137 137 134 137 136 138 114 77 103 147 81 122 121 119 120 121 122
|
22
|
+
139 133 132 132 129 137 132 132 134 131 135 108 73 97 122 89 126 122 119 118 119 121
|
23
|
+
137 137 134 135 133 133 134 133 132 126 129 103 75 79 111 95 127 121 120 118 119 119
|
24
|
+
126 140 135 134 134 136 134 131 133 127 131 99 65 78 89 101 126 120 120 117 116 117
|
25
|
+
112 143 135 134 133 130 132 129 119 127 133 99 70 95 74 113 123 119 120 118 116 115
|
26
|
+
100 139 136 136 133 131 132 120 95 127 132 95 72 113 90 128 120 122 97 104 118 114
|
27
|
+
109 133 135 137 134 128 127 127 123 128 126 86 66 73 108 131 122 119 101 111 119 117
|
28
|
+
123 123 135 136 134 130 127 129 129 130 126 81 63 73 124 124 122 122 119 117 118 116
|
@@ -0,0 +1,28 @@
|
|
1
|
+
P3
|
2
|
+
22 25
|
3
|
+
255
|
4
|
+
74 77 82 71 74 79 78 81 86 75 78 83 82 86 90 89 94 98 123 130 133 124 130 134 111 115 121 122 128 133 189 196 199 141 146 149 118 124 128 162 170 173 141 148 152 85 89 95 79 82 84 141 94 95 205 116 115 162 95 98 96 70 72 156 96 97
|
5
|
+
68 71 76 72 74 80 74 77 81 102 106 110 102 108 112 108 113 117 125 133 136 161 171 173 117 123 128 144 152 157 197 206 209 110 115 119 91 96 100 93 98 103 113 118 125 97 101 106 62 65 70 76 76 79 139 96 99 205 114 111 173 98 100 120 79 82
|
6
|
+
108 115 118 90 95 99 99 107 110 83 91 94 105 109 114 119 122 127 158 166 169 156 166 167 170 180 181 180 188 191 190 198 201 145 153 155 85 89 93 129 135 138 117 123 127 126 131 136 103 108 111 115 122 126 88 94 98 150 95 94 205 108 105 200 108 107
|
7
|
+
151 159 162 100 105 109 79 82 87 79 82 87 82 85 90 89 92 97 138 145 148 149 156 160 149 155 159 175 181 185 150 159 162 176 184 188 85 87 92 177 183 185 139 146 149 93 96 101 104 109 113 79 80 85 62 65 72 102 79 82 199 108 106 198 107 106
|
8
|
+
118 125 128 75 78 83 75 79 82 69 73 76 69 73 77 84 88 91 76 81 85 65 69 74 72 74 79 90 93 97 95 100 105 151 158 164 109 117 122 154 161 164 137 139 144 61 60 66 83 85 90 114 118 124 133 143 149 125 112 116 192 106 104 199 108 105
|
9
|
+
80 87 90 71 74 79 73 77 80 69 73 76 68 72 75 61 65 69 96 101 105 117 122 126 134 140 143 166 171 175 125 133 137 135 143 149 148 155 161 176 183 189 156 160 167 88 90 95 77 77 82 91 94 101 135 143 149 144 145 147 179 101 100 199 104 101
|
10
|
+
72 75 80 80 83 87 70 75 78 65 70 73 77 82 86 96 104 107 130 138 141 163 171 174 151 159 162 110 117 120 87 92 96 86 91 95 67 72 76 117 124 131 166 174 183 91 94 100 66 66 71 68 72 77 66 69 74 111 109 114 179 104 102 200 103 101
|
11
|
+
74 77 83 90 92 97 68 73 76 101 107 110 131 139 142 136 141 145 100 105 109 80 85 89 77 78 83 66 66 71 67 68 73 70 71 76 68 69 74 93 96 102 153 163 167 99 104 108 68 71 76 84 92 94 69 77 81 93 77 81 194 106 105 196 101 99
|
12
|
+
111 101 104 88 97 100 74 77 82 128 135 139 89 93 97 95 97 102 99 100 106 79 82 87 75 78 84 77 84 89 74 78 82 70 70 73 67 67 71 93 96 100 177 187 188 122 127 131 61 61 66 70 71 76 65 69 75 129 86 88 204 107 105 196 101 99
|
13
|
+
164 110 114 76 81 87 78 83 90 100 106 109 107 113 116 66 66 72 65 66 71 80 88 93 94 108 116 83 99 103 73 77 80 67 68 72 74 74 78 81 84 88 172 182 185 127 131 135 74 75 80 80 83 88 95 94 100 167 95 95 203 106 102 193 99 97
|
14
|
+
188 115 116 139 95 98 106 88 91 106 115 119 131 142 144 94 101 104 61 64 69 73 80 85 81 88 94 82 87 92 85 89 93 74 78 82 64 65 69 101 103 110 182 190 196 118 123 127 70 70 76 109 117 121 137 93 95 199 101 99 197 103 100 194 99 97
|
15
|
+
200 122 120 199 122 120 188 112 111 132 99 103 126 127 131 151 159 164 121 129 132 89 90 94 67 69 73 69 71 75 83 85 90 101 106 110 77 82 85 90 93 98 184 193 198 111 115 120 65 68 73 109 91 95 184 95 96 195 99 97 195 101 99 195 100 98
|
16
|
+
159 115 116 207 124 125 205 122 121 206 118 116 159 103 104 130 111 116 170 167 171 197 207 207 162 171 174 101 104 108 69 71 76 88 93 96 80 82 86 88 91 95 178 187 192 100 101 107 55 60 64 133 82 84 197 98 95 191 97 95 191 96 94 194 99 97
|
17
|
+
183 117 120 204 123 126 202 124 122 202 121 118 206 123 119 194 114 112 163 105 105 152 127 129 156 143 146 162 167 170 140 150 154 110 116 119 68 68 73 103 106 110 184 194 199 96 99 106 83 83 87 163 94 94 200 103 100 192 98 96 191 96 94 193 98 96
|
18
|
+
204 121 118 201 119 120 201 120 117 202 124 120 200 121 117 201 118 115 204 118 115 197 111 111 189 105 105 165 107 109 150 135 138 132 142 148 70 72 77 105 109 113 169 180 185 81 88 95 120 96 100 199 102 101 198 102 98 194 100 97 193 98 96 194 99 97
|
19
|
+
201 119 117 200 114 112 201 118 116 202 117 115 201 116 114 201 118 115 200 116 115 203 115 114 189 112 111 194 117 118 189 109 108 133 120 124 86 91 95 103 105 110 170 179 183 79 85 91 140 90 92 203 102 99 195 101 97 195 100 98 194 99 97 192 98 96
|
20
|
+
200 122 120 201 116 113 202 118 116 201 117 115 200 119 116 199 118 115 201 119 116 202 115 113 193 114 114 193 115 116 206 115 113 147 103 105 84 88 92 83 86 90 153 165 167 102 98 103 176 99 101 198 101 98 194 99 97 196 101 99 195 100 98 195 101 99
|
21
|
+
199 121 117 200 117 114 200 115 113 200 115 114 200 118 115 200 120 117 200 120 115 200 116 113 201 120 116 200 119 115 206 120 116 150 105 104 75 77 82 99 104 109 138 149 154 93 78 80 193 103 101 197 101 98 194 99 97 195 100 98 196 101 99 196 102 100
|
22
|
+
202 122 118 199 115 113 201 114 113 196 115 114 187 114 112 200 120 117 198 115 111 200 114 112 201 116 113 198 113 110 204 117 113 143 98 99 72 73 78 92 98 103 111 124 129 119 81 85 202 106 104 198 102 100 194 99 97 193 98 96 194 99 97 195 101 99
|
23
|
+
195 122 121 202 120 116 201 116 114 200 118 115 198 115 114 201 115 114 200 116 113 200 115 112 201 114 112 198 107 106 203 109 107 137 94 94 72 76 80 76 79 84 102 113 118 133 85 86 204 106 102 196 101 99 195 100 98 194 98 96 195 99 98 194 99 97
|
24
|
+
167 115 115 206 123 119 200 117 115 201 116 114 200 117 114 201 119 116 201 116 113 199 113 111 205 114 111 199 108 106 205 111 110 132 90 90 61 66 70 78 78 84 82 90 95 147 89 89 204 105 101 196 100 98 195 100 98 194 96 95 195 95 94 195 96 95
|
25
|
+
137 105 106 208 126 124 200 118 115 199 117 114 201 115 113 199 112 110 201 113 111 196 111 108 166 106 105 193 109 106 207 113 110 130 90 93 67 70 76 93 95 100 76 73 78 170 97 97 201 102 98 195 99 97 197 99 98 194 97 96 195 95 95 194 93 94
|
26
|
+
120 95 94 201 123 120 200 119 115 199 119 116 199 115 112 200 112 110 205 112 111 167 108 107 110 90 94 198 108 107 205 112 109 120 88 89 68 73 78 107 114 119 107 85 88 199 109 106 196 100 98 196 102 100 127 88 91 158 89 92 199 96 95 193 93 93
|
27
|
+
132 103 105 188 118 115 201 117 115 200 120 117 200 116 114 198 110 107 199 108 106 189 110 107 188 106 106 200 109 107 198 107 106 108 80 82 63 67 71 71 73 80 146 98 98 204 112 109 198 102 100 190 100 97 144 89 92 176 93 93 196 98 95 194 96 95
|
28
|
+
154 114 117 176 109 108 203 117 114 201 119 117 201 116 114 199 112 107 198 108 103 197 111 105 199 111 106 199 112 108 196 107 105 97 77 79 59 64 69 80 71 73 188 107 106 197 104 101 196 102 100 195 102 99 199 98 96 194 97 94 193 98 96 194 95 94
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: image_size
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Keisuke Minami
|
8
8
|
- Ivan Kuchin
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2020-08-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
@@ -32,6 +32,9 @@ dependencies:
|
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: '0.59'
|
35
|
+
- - "!="
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 0.78.0
|
35
38
|
type: :development
|
36
39
|
prerelease: false
|
37
40
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -39,9 +42,12 @@ dependencies:
|
|
39
42
|
- - "~>"
|
40
43
|
- !ruby/object:Gem::Version
|
41
44
|
version: '0.59'
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
+
- - "!="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.78.0
|
48
|
+
description: 'Measure following file dimensions: apng, bmp, cur, gif, ico, j2c, jp2,
|
49
|
+
jpeg, jpx, mng, pam, pbm, pcx, pgm, png, ppm, psd, svg, swf, tiff, webp, xbm, xpm'
|
50
|
+
email:
|
45
51
|
executables: []
|
46
52
|
extensions: []
|
47
53
|
extra_rdoc_files: []
|
@@ -56,38 +62,47 @@ files:
|
|
56
62
|
- image_size.gemspec
|
57
63
|
- lib/image_size.rb
|
58
64
|
- spec/image_size_spec.rb
|
59
|
-
- spec/images/apng/192x110.apng
|
60
65
|
- spec/images/bmp/v2.42x50.bmp
|
61
66
|
- spec/images/bmp/v3-bottom2top.42x50.bmp
|
62
67
|
- spec/images/bmp/v3-top2bottom.42x50.bmp
|
63
|
-
- spec/images/cur/
|
68
|
+
- spec/images/cur/32x256.cur
|
64
69
|
- spec/images/gif/668x481.gif
|
65
|
-
- spec/images/ico/
|
66
|
-
- spec/images/
|
67
|
-
- spec/images/
|
68
|
-
- spec/images/
|
69
|
-
- spec/images/
|
70
|
+
- spec/images/ico/32x256.ico
|
71
|
+
- spec/images/jp2/163x402.jp2
|
72
|
+
- spec/images/jp2/176x373.jpx
|
73
|
+
- spec/images/jp2/224x293.j2c
|
74
|
+
- spec/images/jpeg/436x429.jpeg
|
75
|
+
- spec/images/jpeg/extraneous-bytes.436x429.jpeg
|
76
|
+
- spec/images/mng/61x42.mng
|
70
77
|
- spec/images/pcx/70x60.pcx
|
71
|
-
- spec/images/
|
78
|
+
- spec/images/png/192x110.apng
|
72
79
|
- spec/images/png/640x532.png
|
80
|
+
- spec/images/pnm/22x25.pam
|
81
|
+
- spec/images/pnm/22x25.pbm
|
82
|
+
- spec/images/pnm/22x25.pgm
|
83
|
+
- spec/images/pnm/22x25.ppm
|
84
|
+
- spec/images/pnm/ascii.22x25.pbm
|
85
|
+
- spec/images/pnm/ascii.22x25.pgm
|
86
|
+
- spec/images/pnm/ascii.22x25.ppm
|
73
87
|
- spec/images/psd/16x20.psd
|
74
88
|
- spec/images/svg/72x100.svg
|
75
89
|
- spec/images/swf/450x200.swf
|
76
|
-
- spec/images/tiff/
|
90
|
+
- spec/images/tiff/big-endian.68x49.tiff
|
91
|
+
- spec/images/tiff/little-endian.40x68.tiff
|
77
92
|
- spec/images/webp/extended.16x32.webp
|
78
93
|
- spec/images/webp/lossless.16x32.webp
|
79
94
|
- spec/images/webp/lossy.16x32.webp
|
80
95
|
- spec/images/xbm/16x32.xbm
|
81
96
|
- spec/images/xpm/24x32.xpm
|
82
|
-
homepage:
|
97
|
+
homepage: https://github.com/toy/image_size
|
83
98
|
licenses:
|
84
99
|
- Ruby
|
85
100
|
metadata:
|
86
101
|
bug_tracker_uri: https://github.com/toy/image_size/issues
|
87
102
|
changelog_uri: https://github.com/toy/image_size/blob/master/CHANGELOG.markdown
|
88
|
-
documentation_uri: https://www.rubydoc.info/gems/image_size/2.0
|
103
|
+
documentation_uri: https://www.rubydoc.info/gems/image_size/2.1.0
|
89
104
|
source_code_uri: https://github.com/toy/image_size
|
90
|
-
post_install_message:
|
105
|
+
post_install_message:
|
91
106
|
rdoc_options: []
|
92
107
|
require_paths:
|
93
108
|
- lib
|
@@ -102,30 +117,39 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
102
117
|
- !ruby/object:Gem::Version
|
103
118
|
version: '0'
|
104
119
|
requirements: []
|
105
|
-
rubygems_version: 3.
|
106
|
-
signing_key:
|
120
|
+
rubygems_version: 3.1.4
|
121
|
+
signing_key:
|
107
122
|
specification_version: 4
|
108
123
|
summary: Measure image size using pure Ruby
|
109
124
|
test_files:
|
110
125
|
- spec/image_size_spec.rb
|
111
|
-
- spec/images/apng/192x110.apng
|
112
126
|
- spec/images/bmp/v2.42x50.bmp
|
113
127
|
- spec/images/bmp/v3-bottom2top.42x50.bmp
|
114
128
|
- spec/images/bmp/v3-top2bottom.42x50.bmp
|
115
|
-
- spec/images/cur/
|
129
|
+
- spec/images/cur/32x256.cur
|
116
130
|
- spec/images/gif/668x481.gif
|
117
|
-
- spec/images/ico/
|
118
|
-
- spec/images/
|
119
|
-
- spec/images/
|
120
|
-
- spec/images/
|
121
|
-
- spec/images/
|
131
|
+
- spec/images/ico/32x256.ico
|
132
|
+
- spec/images/jp2/163x402.jp2
|
133
|
+
- spec/images/jp2/176x373.jpx
|
134
|
+
- spec/images/jp2/224x293.j2c
|
135
|
+
- spec/images/jpeg/436x429.jpeg
|
136
|
+
- spec/images/jpeg/extraneous-bytes.436x429.jpeg
|
137
|
+
- spec/images/mng/61x42.mng
|
122
138
|
- spec/images/pcx/70x60.pcx
|
123
|
-
- spec/images/
|
139
|
+
- spec/images/png/192x110.apng
|
124
140
|
- spec/images/png/640x532.png
|
141
|
+
- spec/images/pnm/22x25.pam
|
142
|
+
- spec/images/pnm/22x25.pbm
|
143
|
+
- spec/images/pnm/22x25.pgm
|
144
|
+
- spec/images/pnm/22x25.ppm
|
145
|
+
- spec/images/pnm/ascii.22x25.pbm
|
146
|
+
- spec/images/pnm/ascii.22x25.pgm
|
147
|
+
- spec/images/pnm/ascii.22x25.ppm
|
125
148
|
- spec/images/psd/16x20.psd
|
126
149
|
- spec/images/svg/72x100.svg
|
127
150
|
- spec/images/swf/450x200.swf
|
128
|
-
- spec/images/tiff/
|
151
|
+
- spec/images/tiff/big-endian.68x49.tiff
|
152
|
+
- spec/images/tiff/little-endian.40x68.tiff
|
129
153
|
- spec/images/webp/extended.16x32.webp
|
130
154
|
- spec/images/webp/lossless.16x32.webp
|
131
155
|
- spec/images/webp/lossy.16x32.webp
|
data/spec/images/cur/50x256.cur
DELETED
Binary file
|
data/spec/images/ico/256x27.ico
DELETED
Binary file
|
Binary file
|
Binary file
|
data/spec/images/mng/612x132.mng
DELETED
Binary file
|
data/spec/images/pbm/85x55.pbm
DELETED
Binary file
|
data/spec/images/pgm/90x55.pgm
DELETED
@@ -1,5 +0,0 @@
|
|
1
|
-
P5
|
2
|
-
#Created with The GIMP
|
3
|
-
90 55
|
4
|
-
255
|
5
|
-
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
|
data/spec/images/tiff/48x64.tiff
DELETED
Binary file
|