View Source Changelog
image-0-23-2
Image 0.23.2
This is the changelog for Image version 0.23.2 released on January 31st, 2023. For older changelogs please consult the release tag on GitHub
bug-fixes
Bug Fixes
Image.Kino.show/2
returns the typeKino.Image.t/0
which as a side effect does not show a duplicate image and plays nicely withKino.Layout.grid/2
. Thanks to @RyoWakabayashi. Closes #37.
image-0-23-1
Image 0.23.1
This is the changelog for Image version 0.23.1 released on January 30th, 2023. For older changelogs please consult the release tag on GitHub
bug-fixes-1
Bug Fixes
Kino.show/2
returns the image instead of:ok
so that it works correctly in a grid. Thanks to @RyoWakabayashi for the suggestion.
image-0-23-0
Image 0.23.0
This is the changelog for Image version 0.23.0 released on January 29th, 2023. For older changelogs please consult the release tag on GitHub
bug-fixes-2
Bug Fixes
Fix specs for
Image.Options.Write
. Thanks to @jarrodmoldrich. Closes #36.Fix spec for
Image.exif/1
. Thanks to @ntodd for the PR. Closes #35.
enhancements
Enhancements
Adds
Image.normalize/1
which normalizes an image by expanding the luminance of an image to cover the full dynamic range.Adds
Image.autolevel/1
which scales each band of an image to fit the full dynamic range. UnlikeImage.normalize/1
, each band is scaled separately.Adds
Image.erode/2
which erodes pixels from the edge of an image mask. This can be useful to remove a small amount of colour fringing around the edge of an image.Adds
Image.dilate/2
which dilates pixels from the edge of an image mask.Adds
Image.trim/2
which trims an image to the bounding box of the non-background area.Adds
Image.flatten/1
which flattens an alpha layer out of an imageImage.Options.Write.validate_options/2
now validates options appropriate to each image type in order to make validation more robust.Adds
:minimize_file_size
option toImage.write/2
for JPEG and PNG files which iftrue
will apply a range of techniques to minimize the size of the image file at the expense of time to save the image and potentially image quality.
image-0-22-1
Image 0.22.1
This is the changelog for Image version 0.22.1 released on January 9th, 2023. For older changelogs please consult the release tag on GitHub
bug-fixes-3
Bug Fixes
- Don't compile
Image.Options.Video
unless Evision is configured and compiled.
image-0-22-0
Image 0.22.0
This is the changelog for Image version 0.22.0 released on January 9th, 2023. For older changelogs please consult the release tag on GitHub
enhancements-1
Enhancements
Adds
Image.Video.stream!/2
that returns an enumerable stream of frames as images.Adds
Image.Video.scrub/2
that scubs the video head forward a number of frames.
image-0-21-0
Image 0.21.0
This is the changelog for Image version 0.21.0 released on January 8th, 2023. For older changelogs please consult the release tag on GitHub
breaking-change
Breaking change
Image.Video.image_at_millisecond/2
andImage.Video.image_from_frame/2
are removed and replaced byImage.Video.image_from_video/2
.
enhancements-2
Enhancements
Adds
Image.Video.image_from_video/2
with support for:frame
and:millisecond
seek options. Seek options are only supported for video files, not video streams.Adds
Image.Video.seek/2
to seek the extraction point to the requested frame or millisecond. Seeking is supported for video files only, not video streams.Adds support for capturing images from video streams (not only video files). For example,
Image.Video.open(:default_camera)
. See the updated documentation forImage.Video.open/1
. An image stream does not support seeking.
image-0-20-0
Image 0.20.0
This is the changelog for Image version 0.20.0 released on January 8th, 2023. For older changelogs please consult the release tag on GitHub
bug-fixes-4
Bug Fixes
- Fix
Image.from_evision/1
to correctly orient the dimensions as{width, height, bands}
enhancements-3
Enhancements
Add support for extracting frames from video as images using
eVision
. SeeImage.Video
.Supports
vix
upcoming prebuiltlibvips
. The prebuiltlibvips
may not include the FFT dependency soImage.skew_angle/1
andImage.fft/1
are only included ifVix.Vips.Operation.fft!/1
is available.
image-0-19-0
Image 0.19.0
This is the changelog for Image version 0.19.0 released on December 24th, 2022. For older changelogs please consult the release tag on GitHub
enhancements-4
Enhancements
- Adds
Image.Generation.text_to_image/2
the uses Stable Diffusion support in Bumblebee to generate an image from a text description of scene.
image-0-18-1
Image 0.18.1
This is the changelog for Image version 0.18.1 released on December 21st, 2022. For older changelogs please consult the release tag on GitHub
bug-fixes-5
Bug Fixes
- Fix
Image.Application.start/2
. Previously it would returnnil
if Bumblebee was not configured andnil
is not a valid return from an application start function. Thanks to @haste for the report and PR. Closes #34.
image-0-18-0
Image 0.18.0
This is the changelog for Image version 0.18.0 released on December 20th, 2022. For older changelogs please consult the release tag on GitHub
enhancements-5
Enhancements
Adds
Image.Classification.classify/2
andImage.Classification.labels/2
to execute image classification models over an image using Bumblebee.Adds an option
:max_height
toImage.Kino.show/2
. Thanks to @kwando for the PR. Closes #33.
image-0-17-0
Image 0.17.0
This is the changelog for Image version 0.17.0 released on December 19, 2022. For older changelogs please consult the release tag on GitHub
breaking-change-1
Breaking change
- Rename
Image.orientation/1
to beImage.aspect/1
to better reflect its purpose. Orientation has a more specific meaning in image metadata and inVips.Vix.Image.orientation/1
.
bug-fixes-6
Bug Fixes
Fix
Image.aspect/1
for exactly square images.Draw functions now default to opaque if the base image has an alpha band (previously they would be transparent). Thanks for @kwando for the collaboration. Closes #32.
enhancements-6
Enhancements
Adds a
:fit
option toImage.thumbnail/3
that uses the same terminology as the CSS object-fit property. This option sets overwrites the options:crop
and:resize
to produce the specified outcome.Add
Image.Draw.point!/4
,Image.Draw.rect!/6
,Image.Draw.circle!/5
andImage.Draw.line!/6
.
image-0-16-0
Image 0.16.0
This is the changelog for Image version 0.16.0 released on Decmber 18th, 2022. For older changelogs please consult the release tag on GitHub
enhancements-7
Enhancements
- Allow percentages to be specified as
Image.crop/5
parameters for left, top, width and height. Percentages are expressed as floats in the range -1.0 to 1.0 (for left and top) and greater than 0.0 and less than or equal to 1.0 (for width and height). Thanks to @tmjoen for the suggestion.
image-0-15-1
Image 0.15.1
This is the changelog for Image version 0.15.1 released on Decmber 13th, 2022. For older changelogs please consult the release tag on GitHub
bug-fixes-7
Bug Fixes
- Fixes interpretation of color encoded as
#xxxxxx
. Closes #26. Thanks to @a8t for the report.
image-0-15-0
Image 0.15.0
This is the changelog for Image version 0.15.0 released on Decmber 4th, 2022. For older changelogs please consult the release tag on GitHub
bug-fixes-8
Bug Fixes
- Fix
Image.minimize_metadata/1
which was previously creating malformed exif data.
enhancements-8
Enhancements
- Add
:autofit
option toImage.Text.text/2
. When set totrue
, text is rendered withVix.Vips.Operation.text/2
. The default,false
, uses SVG rendering. There are pros and cons to both strategies. The main difference is thatautofit: true
will automatically size the text and perform line wrapping to fit the specified:width
and:height
. Thanks to @dmitriid for the suggestion!
image-0-14-4
Image 0.14.4
This is the changelog for Image version 0.14.4 released on November 14th, 2022. For older changelogs please consult the release tag on GitHub
bug-fixes-9
Bug Fixes
Fix the return type for
Image.write/3
forPlug.Conn
. Thanks to @andreyuhai for the PR.Fix type specs for
Image.write/3
when the destination is:memory
. Thanks to @georgfaust for raising the issue.Fixes the rbga color model for integer alpha values again (which are automatically cast to the appropriate float value). Thanks to @andreyuhai for your patience and collaboration while this was sorted out.
image-0-14-3
Image 0.14.3
This is the changelog for Image version 0.14.3 released on November 14th, 2022. For older changelogs please consult the release tag on GitHub
bug-fixes-10
Bug Fixes
Fixes the rbga color model for integer alpha values (which are automatically cast to the appropriate float value). Thanks to @andreyuhai for your patience and collaboration while this was sorted out.
Casts the color to the correct number of bands in
Image.Draw
functions. This will either add or remove an alpha band to the color of the shape being drawn to match the underlying image. Thanks to @andreyuhai for the PR. Closes #22.
image-0-14-2
Image 0.14.2
This is the changelog for Image version 0.14.2 released on November 13th, 2022. For older changelogs please consult the release tag on GitHub
bug-fixes-11
Bug Fixes
image-0-14-1
Image 0.14.1
This is the changelog for Image version 0.14.1 released on November 11th, 2022. For older changelogs please consult the release tag on GitHub
bug-fixes-12
Bug Fixes
- Fix streaming image writes. Previously the stream chunks were being written in reverse order. Closes #19. Thanks to @loics2 for the report.
image-0-14-0
Image 0.14.0
This is the changelog for Image version 0.14.0 released on November 11th, 2022. For older changelogs please consult the release tag on GitHub
bug-fixes-13
Bug Fixes
- Fixes extracting exif data when there is an exif blob but no exif tags. Closes #21. Thanks to @feld for the report.
enhancements-9
Enhancements
Add
Image.pixelate/2
andImage.pixelate!/2
Add
Image.resize!/3
image-0-13-1
Image 0.13.1
This is the changelog for Image version 0.13.1 released on October 23rd, 2022. For older changelogs please consult the release tag on GitHub
bug-fixes-14
Bug fixes
- Since a font named
Impact
isn't available on all systems, default meme generator can produce unexpected results for the rendered text. TheImpact
font is now included inImage
and will be used if the font name isImpact
.
image-0-13-0
Image 0.13.0
This is the changelog for Image version 0.13.0 released on October 23rd, 2022. For older changelogs please consult the release tag on GitHub
breaking-change-2
Breaking change
Image.resize/3
renamed toImage.thumbnail/3
bug-fixes-15
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-10
Enhancements
Add
Image.chroma_key/2
andImage.chroma_mask/2
.Add
Image.meme/3
andImage.meme!/3
.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-0-12-0
Image 0.12.0
This is the changelog for Image version 0.12.0 released on October 14th, 2022. For older changelogs please consult the release tag on GitHub
enhancements-11
Enhancements
- Updates to support eVision 0.1.11 which has API breaking changes. There is no change to the
Image.QRcode.decode/1
function which useseVision
.
image-0-11-0
Image 0.11.0
This is the changelog for Image version 0.11.0 released on October 8th, 2022. For older changelogs please consult the release tag on GitHub
enhancements-12
Enhancements
- Now uses
eVision
version0.1
or later from hex.pm
image-0-10-0
Image 0.10.0
This is the changelog for Image version 0.10.0 released on October 5th, 2022. For older changelogs please consult the release tag on GitHub
bug-fixes-16
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-0-9-0
Image 0.9.0
This is the changelog for Image version 0.9.0 released on October 1st, 2022. For older changelogs please consult the release tag on GitHub
enhancements-13
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.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-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
enhancements-14
Enhancements
Image.open/2
now accepts raw image data for the image types.jpeg
,.png
,.webp
image-0-7-0
Image 0.7.0
This is the changelog for Image version 0.7.0 released on September 30, 2022. For older changelogs please consult the release tag on GitHub
enhancements-15
Enhancements
Set the environment variable
VIPS_BLOCK_UNTRUSTED
at application start if it is not already set. As of libvips 8.13 this environment variable will causelibvips
to not use any image loaders that are "unfuzzed".Add mutable draw operations. These operations mutate an image directly and hence special care is taken to avoid race conditions. All mutuable operations are serialized via a
GenServer
. See theImage.Draw
module. These functions are experimental for now pending additional testing.Add
Image.from_binary/2
to support creating an image from a raw binary.Thanks to @timothyvanderaerden for the PR to support getting dialyzer under control. Work will continue on this over the next several releases.
image-0-6-0
Image 0.6.0
This is the changelog for Image version 0.6.0 released on July 19th, 2022. For older changelogs please consult the release tag on GitHub
bug-fixes-17
Bug fixes
- Don't attempt to compile code that refers to
Plug.t
ifPlug
is not configured. Thanks to @kwando. Closes #7.
enhancements-16
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-0-5-0
Image 0.5.0
This is the changelog for Image version 0.5.0 released on June 24th, 2022. For older changelogs please consult the release tag on GitHub
enhancements-17
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-0-4-0
Image 0.4.0
This is the changelog for Image version 0.4.0 released on June 23rd, 2022. For older changelogs please consult the release tag on GitHub
enhancements-18
Enhancements
Adds support for opening streaming images. This allows images to be streamed from
File.stream!/3
or from anyt:Stream.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-0-3-0
Image 0.3.0
This is the changelog for Image version 0.3.0 released on June 4th, 2022. For older changelogs please consult the release tag on GitHub
enhancements-19
Enhancements
Add
Image.dominant_color/2
to return the dominant color of an imageAdd
Image.histogram/1
to return a histogram of an imageAdd
Image.get_pixel
to get the pixel value at a givenx
andy
offset into an image.
image-0-2-0
Image 0.2.0
This is the changelog for Image version 0.2.0 released on May 18th, 2022. For older changelogs please consult the release tag on GitHub
enhancements-20
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.
image-0-1-0
Image 0.1.0
This is the changelog for Image version 0.1.0 released on May 4th, 2022. For older changelogs please consult the release tag on GitHub
enhancements-21
Enhancements
- Initial release