Class: ImageSpec::Parser::BMP

Inherits:
Object
  • Object
show all
Defined in:
lib/image_spec/parser/bmp.rb

Constant Summary collapse

CONTENT_TYPE =
'image/bmp'

Class Method Summary collapse

Class Method Details

.attributes(stream) ⇒ Object



5
6
7
8
# File 'lib/image_spec/parser/bmp.rb', line 5

def self.attributes(stream)
  width, height = dimensions(stream)
  {:width => width, :height => height, :content_type => CONTENT_TYPE, :dimensions => [width, height], :file_size => size(stream)}
end

.detected?(stream) ⇒ Boolean

Returns:

  • (Boolean)


10
11
12
13
# File 'lib/image_spec/parser/bmp.rb', line 10

def self.detected?(stream)
  stream.rewind
  stream.read(2) == 'BM'
end

.dimensions(stream) ⇒ Object



15
16
17
18
# File 'lib/image_spec/parser/bmp.rb', line 15

def self.dimensions(stream)
  stream.seek(18)
  stream.read(8).unpack('LL')
end

.size(stream) ⇒ Object



20
21
22
# File 'lib/image_spec/parser/bmp.rb', line 20

def self.size(stream)
  stream.size
end