Skip to content

Releases: elixir-image/image

Image version 0.13.0

22 Oct 23:49
Compare
Choose a tag to compare

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 and Image.chroma_mask/2.

  • Add Image.meme/3 and Image.meme!/3.

  • Add Image.QRcode.encode/1 and Image.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 (and Image.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

08 Oct 05:07
Compare
Choose a tag to compare

Enhancements

  • Now uses eVision version 0.1 or later from hex.pm

Image version 0.10.0

04 Oct 21:41
Compare
Choose a tag to compare

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 environment CONFIGURE_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 application mix.exs as described in the readme. Thanks to @martosaur for the report. Closes #13.

Image version 0.9.0

01 Oct 06:49
Compare
Choose a tag to compare

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 the eVision repository for installation instructions since this library is not yet on hex.pm.

  • Removed most dialyzer warnings. The remaining warnings require an update to Vix (a PR has been submitted).

Image version 0.8.0

30 Sep 09:05
Compare
Choose a tag to compare

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

19 Jul 12:11
Compare
Choose a tag to compare

Bug fixes

  • Don't attempt to compile code that refers to Plug.t if Plug 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 functions boolean_and/2, boolean_or/2, boolean_xor/2, boolean_lshift/2 and boolean_rshift/2. Also includes the ! versions.

  • Add operator use Image.Math overloads for image &&& (and), ||| (or), <<< (lshift) and >>> (rshift).

Image version 0.5.0

24 Jun 11:12
Compare
Choose a tag to compare

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

23 Jun 18:00
Compare
Choose a tag to compare

Enhancements

  • Adds support for opening streaming images. This allows images to be streamed from File.stream!/3 or from any t: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, by ExAws.S3.upload/3, File.stream/3 or any other function that processes stream resources. See the test/stream_image_test.exs for examples.

  • Adds a :memory option to Image.write/3. Instead of a path name or stream, use :memory if you'd like to return a binary 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

04 Jun 08:25
Compare
Choose a tag to compare

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 given x and y offset into an image.

Image version 0.2.0

18 May 11:10
Compare
Choose a tag to compare

Enhancements

  • Adds Image.Text to support generating an image from a string. See Image.Text.text/2.

  • Adds Image.Shape to support generating images from shapes. In this release there is a generalised support for polygons and stars. See Image.Shape.polygon/2 and Image.Shape.star/2.

  • Improves Image.compose/3 to support composing with image lists, relative image placement and more.