eikon alternatives and similar packages
Based on the "Images" category.
Alternatively, view eikon alternatives based on common mentions on social networks and blogs.
-
cloudex
An elixir library which helps with uploading image files or urls to cloudinary -
ex_image_info
ExImageInfo is an Elixir library to parse images (binaries) and get the dimensions (size), detected mime-type and overall validity for a set of image formats. It is the fastest and supports multiple formats. -
exexif
Pure elixir library to extract tiff and exif metadata from jpeg files -
png
A pure Erlang library for creating PNG images. It can currently create 8 and 16 bit RGB, RGB with alpha, indexed, grayscale and grayscale with alpha images. -
thumbnex
Elixir library to create thumbnails from images and video screenshots. -
gi
Gi is a library for manipulating Graphics Interfacing. Use utility mogrify, identify, ... of GraphicsMagick to resize, draw on base images....
Clean code begins in your IDE with SonarLint
Do you think we are missing an alternative of eikon or a related project?
Popular Comparisons
README
Eikōn

Eikōn is an image file parser. Feed it a PNG, JPG, and it will return informations about it.
Table of Contents
Installation
def deps do
[{:eikon, "~> 0.0.2"}]
end
Usage
Each file format is supported through a parser, for instance Eikon.PNG.Parser
which contains the functions to work with it.
For the moment, the following formats are supported :
- [x] PNG
- [x] GIF (Although
content/1
could be improved) - [ ] JPEG
The Parser
Behaviour
Every parser implements the [Parser](lib/eikon.ex#L11) behaviour, which contains standard functions:
General Parsing
parse/1
parse!/1
Magic number checking
magic?/1
Metadata extraction
infos/1
Returning the content of the image (without the metadata)
content/1
content!/1
Examples
Parsing a binary
Erlang/OTP 18 [erts-7.3] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]
Interactive Elixir (1.2.5) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> alias Eikon.PNG.Parser
nil
iex(2)⋅❯ File.read!("priv/mandelbrot.png") |> Parser.parse
{:ok,
%Eikon.PNG{bit_depth: 8,
chunks: {:ok,
<<0, 0, 0, 3, 115, 66, 73, 84, 8, 8, 8, 219, 225, 79, 224, 0, 0, 32, 0, 73, 68, 65, 84, 120, 94, 237, 217, 235, 113, 228, 56, 150, 6, 208, 204, 117, 137, 52, 65, 46, 148, 13, 116, 161, 77, 40, ...>>},
color_type: 2, compression: 0, filter: 0, height: 747, interlace: 0,
width: 1365}}
Only return the metadata
iex(3)⋅❯ File.read!("priv/mandelbrot.png") |> Parser.infos
%Eikon.PNG{bit_depth: 8, chunks: nil, color_type: 2, compression: 0, filter: 0, height: 747, interlace: 0, width: 1365}
Extract some particular metadata
iex(4)⋅❯ image = (File.read!("priv/mandelbrot.png") |> Parser.infos)
%Eikon.PNG{bit_depth: 8, chunks: nil, color_type: 2, compression: 0, filter: 0,
height: 747, interlace: 0, width: 1365}
iex(5)⋅❯ image.width
1365
Works also with GIFs
iex(6)⋅❯ alias Eikon.GIF.Parser
nil
iex(7)⋅❯ File.read!("priv/hammer_time.gif") |> Parser.infos
%Eikon.GIF{height: 540, images: nil, version: "89a", width: 960}
When you just want to know if it's a valid file.
iex(8)⋅❯ File.read!("priv/hammer_time.gif") |> Parser.magic?
true
*Note that all licence references and agreements mentioned in the eikon README section above
are relevant to that project's source code only.