Moul

Opinionated image resizing library.

Installation

This package required static binary https://github.com/moul-co/moul/releases >= v5.0.0-rc.5 in $PATH.

The package can be installed by adding moul to your list of dependencies in mix.exs:

def deps do
[
{:moul, "~> 0.3.0"}
]
end

By default, moul use https://github.com/evanw/thumbhash, but can also config to use https://github.com/woltapp/blurhash

config :moul,
hash: "blurhash"

Example

test/images/DSCF0527.JPG
iex(1)> Moul.moulify("test/images/DSCF0527.JPG")
{:ok,
%{
hash: "yygKJQaEeJZ3B4rXhodHqHSHUGcH",
height: "6240",
width: "4160"
}}

File created:

test/images/profile.png
iex(1)> Moul.avatarize("test/images/profile.png")
{:ok,
%{
hash: "GwgSFwKLZYZ/eHZHZ1aWZ4iHyAgpjaAC",
height: "1190",
width: "1190"
}}

File created:

Preview: xl | blurhash | thumbhash

Documentation

Documentation can be found here: https://hexdocs.pm/moul