Hex VersionHex docsLicenseBuild StatusCode coverage statusHex.pm

Fastimage

Description

Fastimage finds the dimensions/size or file type of a remote or local image file given the file path or url respectively. It streams the smallest amount of data necessary to ascertain the file size. This aspect is useful when getting the file size for very large images.

Features

Examples

Fastimage.info("https://raw.githubusercontent.com/stephenmoloney/fastimage/master/priv/test.jpg")
# => {:ok,
#      %Fastimage{
#        dimensions: %Fastimage.Dimensions{height: 142, width: 283},
#        image_type: :jpeg,
#        source: "https://raw.githubusercontent.com/stephenmoloney/fastimage/master/priv/test.jpg",
#        source_type: :url
#      }}

Fastimage.type("https://raw.githubusercontent.com/stephenmoloney/fastimage/master/priv/test.jpg")
# => {:ok, :jpeg}

Fastimage.size("https://raw.githubusercontent.com/stephenmoloney/fastimage/master/priv/test.jpg")
# => {:ok, %Fastimage.Dimensions{height: 142, width: 283}}

See docs for further examples

Installation

Add fastimage to your list of dependencies in mix.exs:

def deps do
  [
    {:fastimage, "~> 1.0.0-rc4"}
  ]
end

Tests

mix test

Benchmarks

mix bench

Credit/Acknowledgements

Licence

MIT Licence