scrogson / mirage

Image manipulation package for Elixir

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mirage

Image manipulation for Elixir.

This library provides a Rust implemented NIF which currently supports resizing images.

Installation

Because this library is partially implemented in Rust, you will need to have the Rust toolchain installed on your system.

Install Rust

curl https://sh.rustup.rs -sSf | sh

Add package to your mix.exs

If available in Hex, the package can be installed by adding mirage to your list of dependencies in mix.exs:

def deps do
  [
    {:mirage, "~> 0.1.0"}
  ]
end

Basic usage

{:ok, bytes} = File.read("/path/to/image.png")
{:ok, mirage} = Mirage.from_bytes(bytes)
{:ok, new_bytes, mirage} = Mirage.resize(mirage, 400, 300)

mirage.width #=> 400
mirage.height #=> 300

File.write!("/path/to/resized-400x300.png", new_bytes)

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/mirage.

About

Image manipulation package for Elixir

License:Apache License 2.0


Languages

Language:Rust 56.4%Language:Elixir 43.6%