# File lib/compass/sass_extensions/functions/image_size.rb, line 15 def initialize(file) @file = (file.respond_to?(:to_path) ? file.to_path : file) @file_type = File.extname(@file)[1..-1] end
# File lib/compass/sass_extensions/functions/image_size.rb, line 20 def size @dimensions ||= send(:"get_size_for_#{@file_type}") rescue NoMethodError raise Sass::SyntaxError, "Unrecognized file type: #{@file_type}" end
# File lib/compass/sass_extensions/functions/image_size.rb, line 31 def get_size_for_gif File.open(@file, "rb") {|io| io.read}[6..10].unpack('SS') end
# File lib/compass/sass_extensions/functions/image_size.rb, line 39 def get_size_for_jpeg jpeg = JPEG.new(@file) [jpeg.width, jpeg.height] end
# File lib/compass/sass_extensions/functions/image_size.rb, line 35 def get_size_for_jpg get_size_for_jpeg end
# File lib/compass/sass_extensions/functions/image_size.rb, line 27 def get_size_for_png File.open(@file, "rb") {|io| io.read}[0x10..0x18].unpack('NN') end