Releases: elixir-image/image
Image version 0.13.0
Bug fixes
-
Fix
Image.open/2
when opening JPEG images from a binary. Seems JPEG files agree on the<<0xff, 0xd8, 0xff>>
header for the first three bytes. But not completely consistent with the following bytes. -
Fix options for
Image.Draw
functions which are expected to be a map after validation (but were a keyword list).
Enhancements
-
Add
Image.chroma_key/2
andImage.chroma_mask/2
. -
Add
Image.meme/3
andImage.meme!/3
. -
Add
Image.QRcode.encode/1
andImage.QRcode.decode/1
. -
Add
Image.blur/2
. -
Add
Image.feather/2
. -
Add
Image.new/2
that creates a new image of the same shape as the provided image. -
Add
Image.resize/3
. -
Add
Image.split_bands/1
. -
Add
Image.if_then_else/3
. -
Add
Image.preview/1
(andImage.p/1
that delegates to it) to preview an image inline in an iTerm2 terminal windows. -
Add
Image.split_bands/1
to return a list single band images, one for each band in the original image.
Image version 0.11.0
Enhancements
- Now uses
eVision
version0.1
or later from hex.pm
Image version 0.10.0
Bug Fixes
- Since the mix build process does a
File.cwd!/1
to the directory of each dependency we can't use the dirname of the dependency to decide whether to configure:evision
or not. The strategy is now changed to configure:evision
only if the environmentCONFIGURE_EVISION
is set. Note this is only relevant when developing:image
itself. Consumers of the library should add:evision
as a dependency manually in their applicationmix.exs
as described in thereadme
. Thanks to @martosaur for the report. Closes #13.
Image version 0.9.0
Enhancements
-
Image.open/2
supports opening.gif
and.tif
images from raw binary data in addition to the previous.jpeg
,.png
and.webp
. -
Add
Image.shape/1
-
Add
Image.interpretation/1
-
Add
Image.type/1
-
Add initial support for eVision. In this release the function
Image.QRcode.decode/1
is provided to decode images that contain a QRcode. See theeVision
repository for installation instructions since this library is not yet onhex.pm
. -
Removed most dialyzer warnings. The remaining warnings require an update to
Vix
(a PR has been submitted).
Image version 0.8.0
Image 0.8.0
This is the changelog for Image version 0.8.0 released on September 30, 2022. For older changelogs please consult the release tag on GitHub
Image.open/2
now accepts raw image data for the image types.jpeg
,.png
,.webp
and.tiff
Image version 0.6.0
Bug fixes
- Don't attempt to compile code that refers to
Plug.t
ifPlug
is not configured. Thanks to @kwando. Closes #7.
Enhancements
-
Adds
Image.dshash/1
to return a 512-bit image hash. -
Adds
Image.hamming_distance/2
to compare the similarity of two images or two image hashes. -
Adds
Image.radial_gradient/3
to great a radial gradient image. This could be used to composite over another image to add a vignette. -
Adds
Image.Math
logical functionsboolean_and/2
,boolean_or/2
,boolean_xor/2
,boolean_lshift/2
andboolean_rshift/2
. Also includes the!
versions. -
Add operator
use Image.Math
overloads for image&&&
(and
),|||
(or
),<<<
(lshift
) and>>>
(rshift
).
Image version 0.5.0
Enhancements
-
Adds
Image.to_nx/1
to convert an image to an Nx tensor. -
Adds
Image.from_nx/1
to convert an Nx tensor into an image.
Image version 0.4.0
Enhancements
-
Adds support for opening streaming images. This allows images to be streamed from
File.stream!/3
or from anyt:Enumerable.t/0
including those created from ExAws.S3 by ExAws.stream!/2. -
Adds support writing streaming images. This allows images to be streamed as an enumerable which can then be consumed by
Plug.Conn.chunk/2
, byExAws.S3.upload/3
,File.stream/3
or any other function that processes stream resources. See thetest/stream_image_test.exs
for examples. -
Adds a
:memory
option toImage.write/3
. Instead of a path name or stream, use:memory
if you'd like to return abinary
form of an image in its formatted type. Note that this will run the image transformation pipeline resulting in the entire final image being loaded into memory. Therefore this option should be used sparingly since most use cases do not require this option. It is primarily added to facilitate passing images to other libraries in the Elixir ecosystem.
Image version 0.3.0
Enhancements
-
Add
Image.dominant_color/2
to return the dominant color of an image -
Add
Image.histogram/1
to return a histgram of an image -
Add
Image.get_pixel
to get the pixel value at a givenx
andy
offset into an image.
Image version 0.2.0
Enhancements
-
Adds
Image.Text
to support generating an image from a string. SeeImage.Text.text/2
. -
Adds
Image.Shape
to support generating images from shapes. In this release there is a generalised support for polygons and stars. SeeImage.Shape.polygon/2
andImage.Shape.star/2
. -
Improves
Image.compose/3
to support composing with image lists, relative image placement and more.