Method: HexaPDF::ImageLoader::PNG.handles?

Defined in:
lib/hexapdf/image_loader/png.rb

.handles?(file_or_io) ⇒ Boolean

:call-seq:

PNG.handles?(filename)     -> true or false
PNG.handles?(io)           -> true or false

Returns true if the given file or IO stream can be handled, ie. if it contains an image in PNG format.

Returns:

  • (Boolean)


95
96
97
98
99
100
101
102
# File 'lib/hexapdf/image_loader/png.rb', line 95

def self.handles?(file_or_io)
  if file_or_io.kind_of?(String)
    File.read(file_or_io, 8, mode: 'rb') == MAGIC_FILE_MARKER
  else
    file_or_io.rewind
    file_or_io.read(8) == MAGIC_FILE_MARKER
  end
end