View Source Changelog
image-0-33-0
Image 0.33.0
This is the changelog for Image version 0.32.1 released on June 2nd, 2023. For older changelogs please consult the release tag on GitHub
breaking-changes
Breaking Changes
Image.dhash/1
now returns a 64-bit hash rather than a 512-bit hash. The original algorithm is intended to return a 64-bit hash so this is both a breaking change and bug fix.Fix generation of images from text when
autofit: false
(the default). In these cases the text image is generated from SVG. The original implementation operated on the basis that the image would be generated with a height and width necessary to contain the text of a given font size. The result is not consistent and is influenced by whether the text has ascenders or desenders. The new implementation creates an SVG container of a size large enough to contain the text at the given font-size and then trims away the background to produce the final result. Thanks to @ilesar for the report. Closes #86. As a result of this fix, existing text-generated images may not now be the same as previous releases.
image-0-32-0
Image 0.32.0
This is the changelog for Image version 0.32.0 released on May 24th, 2023. For older changelogs please consult the release tag on GitHub
bug-fixes
Bug Fixes
Fix
Image.Text.text/2
when the text fill color is black (within a tolerance). When the text image is created,Vix.Vips.Operation.find_trim/2
is called to trim the image assuming a black background. Since the fill color is also black, the resulting trim is 0 pixels wide and 0 pixels high. When then cropping the image, the crop fails because the crop size is invalid. The fix is to not crop if there is no trim detected. Thanks to @tielur for the report. Closes #84.Fix specification for
Image.compose/3
to remove dialyzer error (and include test case). Thanks to @tielur for the report. Closes #85.Fix
Image.add_alpha/2
when providing a "color". In fact the value should be an integer in the range 0..255 representing the level of transparency of the alpha band. The function spec, documentation and implementation are now changed to accept only an integer (or the atoms :opaque and :transparent).
enhancements
Enhancements
- Adds
Image.from_svg/2
andImage.from_svg!/2
to provide a more discoverable means of creating an image from an SVG string.
image-0-31-1
Image 0.31.1
This is the changelog for Image version 0.31.1 released on May 10th, 2023. For older changelogs please consult the release tag on GitHub
bug-fixes-1
Bug Fixes
- Fix spec for
Image.replace_color/2
andImage.replace_color!/2
. Thanks to @tielur. Closes #79.
image-0-31-0
Image 0.31.0
This is the changelog for Image version 0.31.0 released on May 7th, 2023. For older changelogs please consult the release tag on GitHub
bug-fixes-2
Bug Fixes
- Fix resolution of the image returned from
Image.replace_color/2
. Thanks to @tielur for the report. Closes #78.
enhancements-1
Enhancements
- Add
:blend
option toImage.if_then_else/4
. When set to true with smoothly blend between thethen
andelse
images. The default isfalse
.
image-0-30-0
Image 0.30.0
This is the changelog for Image version 0.30.0 released on April 20th, 2023. For older changelogs please consult the release tag on GitHub
bug-fixes-3
Bug Fixes
Add documentation for
Image.with_colorspace/3
.Fix
Image.trim/2
reflecting the updatedvix
return data structure.Fix
Image.if_then_else/3
to validate color options correctly.
enhancements-2
Enhancements
Adds
Image.cast/2
to convert the band format of an image to a different numeric type.Adds
Image.replace_color/2
andImage.replace_color!/2
.Adds
Image.if_then_else!/3
.
image-0-29-0
Image 0.29.0
This is the changelog for Image version 0.29.0 released on April 14th, 2023. For older changelogs please consult the release tag on GitHub
enhancements-3
Enhancements
- Supports vix version 0.17.0.
image-0-28-2
Image 0.28.2
This is the changelog for Image version 0.28.2 released on April 13th, 2023. For older changelogs please consult the release tag on GitHub
bug-fixes-4
Bug Fixes
Image.Classification.serving/2
was applying the optiontop_k: 1
which means not all predictions were being returned. This option is now removed. Thanks to @tmariaz for raising the issue.
image-0-28-1
Image 0.28.1
This is the changelog for Image version 0.28.1 released on April 7th, 2023. For older changelogs please consult the release tag on GitHub
bug-fixes-5
Bug Fixes
Fixes
Image.add_alpha/2
. Thanks to @kwando for the PR. Closes #71.Fixes
:threshold
option inImage.Options.ChromaKey
to allow a value of0
.Fixes
Image.warp_perspective/4
to correctly flatten an image with an alpha band before the transform. Closes #70.
image-0-28-0
Image 0.28.0
This is the changelog for Image version 0.28.0 released on April 6th, 2023. For older changelogs please consult the release tag on GitHub
bug-fixes-6
Bug Fixes
- Fixes resizing images with alpha bands. Resizing images with alpha bands requires premultiplying the alpha band into the image and reversing that after resizing.
enhancements-4
Enhancements
Adds
Image.warp_perspective/4
to apply a warp transformation to an image. Thanks very much to @sodapopcan for the PR and collaboration.Adds
Image.straighten_perspective/3
to apply a warp perspective that straighens the image. It is basicallyImage.warp_perspective/4
with algorithmically deriveddestination
parameter.Adds
Image.map/2
which applies a transformation matrix (not a convolution kernel) to an image. A transformation matrix can be returned fromImage.transform_matrix/3
. These two functions underpinImage.warp_perspective/4
.Adds
Image.crop/2
which is a variation ofImage.crop/5
that takes the same format of bounding box as that applied toImage.warp_perspective/4
making it easy to apply a warp transform and then crop to the transformed area. Note that cropping requires that the bounding box be a rectangle, not an arbitrary quadrilateral.
image-0-27-1
Image 0.27.1
This is the changelog for Image version 0.27.1 released on March 20th, 2023. For older changelogs please consult the release tag on GitHub
behaviour-change
Behaviour Change
- Changes the default position for an image embedded via
Image.embed/2
to be[0, 0]
not[:center, :center]
.
image-0-27-0
Image 0.27.0
This is the changelog for Image version 0.27.0 released on March 20th, 2023. For older changelogs please consult the release tag on GitHub
image-packaging-future
Image packaging future
In a future release, Image will be split into several packages
:image
which will retain all the core components of image transformation based uponvix
andlibvips
.:image_nx
which will provide:nx
interoperability (and will depend on:image
):image_exif
which will provide metadata support (and will depend on:image
):image_classification
which will provide image classification (and will depend on:image
and:bumblebee
):image_generation
which will provide image generation (and will depend on:image
and:bumblebee
):image_detection
which will provide object detection (and will depend on:image
,:axon
,:axon_onnx
):image_qrcode
which will provide QRcode scanning and production (and will depend on:image
and:evision
):image_video
which will provide video frame extraction (and will depend on:image
and:evision
)
enhancements-5
Enhancements
Add
Image.from_kino/2
andImage.from_kino!/2
to simplify create an image from a Kino image in Livebook.Add
Image.average/1
andImage.average!/1
to calulate the average color of an image.Add
Image.embed/4
andImage.embed!/4
to embed an image in a larger canvas, generating additional border pixels as required.Add
Image.Shape.rect/3
to draw a rectangle image.
image-0-26-0
Image 0.26.0
This is the changelog for Image version 0.26.0 released on March 12th, 2023. For older changelogs please consult the release tag on GitHub
breaking-change
Breaking change
Image.avatar/3
is nowImage.avatar/2
. Thesize
parameter is now the:size
option. The default value of 180 pixels remains.
enhancements-6
Enhancements
Image.avatar/2
takes a:shape
option that is either:circle
(the default) or:square
. This allows the generation of either circular or square avatars.
bug-fixes-7
Bug Fixes
Fix
Image.open/2
for SVG binaries and add note to show that SVG images can be opened.Fix
Image.avatar/2
to square the image after thumbnailing but before applying any mask. This ensures a circular mask is centred on the thumbnailed image.Fix
Image.avatar/2
for image path parameters which no correctly flattens the image.Fix
Image.avatar!/2
to accept either an image or an image path.
image-0-25-1
Image 0.25.1
This is the changelog for Image version 0.25.1 released on March 1st, 2023. For older changelogs please consult the release tag on GitHub
bug-fixes-8
Bug Fixes
Fix
is_webp/1
guard and downcase all suffixes before validation. Thanks to @quentin-bettoum for the report and fix. Closes #64.Fix
Image.avatar/3
to flatten the source image before compositing with the mask. Thanks to @jarrodmoldrich for the report. Closes #63.Fix
Image.flatten/1
to only flatten if there is an alpha band.
image-0-25-0
Image 0.25.0
This is the changelog for Image version 0.25.0 released on February March 1st, 2023. For older changelogs please consult the release tag on GitHub
behavior-change
Behavior Change
- The default access mode for
Image.open/2
is nowaccess: :random
in line withlibvips
native default. Althoughaccess: :sequential
optimizes for many cases (especially with regard to memory) it resulted in poor developer experience since the error messages when trying to re-use aaccess: :sequential
image are difficult to understand and very difficult to re-interpret inimage
.
bug-fixes-9
Bug Fixes
Adds
:heic
and:avif
suffixes to the list of valid suffixes forheif
file formats. Thanks to @quentin-bettoum for the PR. Closes #50.Allows specifying the option
padding: 0
forImage.Text.text/2
. Previously this only supported positive integers.Fix
Image.write/3
documentation. Thanks to @jeregrine for the PR. Closes #62.
enhancements-7
Enhancements
Update
README.md
to include updated documentation for installinglibvips
withVix
.Adds
:x
and:y
options toImage.Text.text/2
which allows placing the text on its background in the specified location.:x
can be specified as a non-negative integer or one of:left
,:right
or:center
with the default being:center
.:y
can be specified as a non-negative integer or one of:top
,:bottom
or:middle
with the default being:middle
. Thanks to @severian1778 for the issue and collaboration. Closes #44.Adds an option
:effort
toImage.write/3
for:png
,:heif
,:heic
,:avif
and:webp
images that determines the amount of CPU effort permitted when compressing the image data. Thanks to @quentin-bettoum for the PR. Closes #45.
image-0-24-1
Image 0.24.1
This is the changelog for Image version 0.24.1 released on February 14th, 2023. For older changelogs please consult the release tag on GitHub
bug-fixes-10
Bug Fixes
Fixes
:weight
option handling inImage.meme/3
to include:ultralight
. Thanks to @quentin-bettoum. Closes #42.Fixes
:intent
option handling inImage.thumbnail/3
. Thanks to @quentin-bettoum. Closes #43.
image-0-24-0
Image 0.24.0
This is the changelog for Image version 0.24.0 released on February 6th, 2023. For older changelogs please consult the release tag on GitHub
enhancements-8
Enhancements
Adds
Image.Draw.flood!/4
to align withImage.Draw.flood/4
.Adds
Image.add_alpha/2
andImage.add_alpha!/2
.Adds
:stroke_width
toImage.Draw.rect/6
andImage.Draw.circle/5
. Thanks to @RyoWakabayashi for the suggestion and sample code.
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-11
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-12
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-13
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-9
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-14
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-10
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-1
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-11
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-15
Bug Fixes
- Fix
Image.from_evision/1
to correctly orient the dimensions as{width, height, bands}
enhancements-12
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-13
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-16
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-14
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-2
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-17
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-15
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-16
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-18
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-19
Bug Fixes
- Fix
Image.minimize_metadata/1
which was previously creating malformed exif data.
enhancements-17
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-20
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-21
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-22
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-23
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-24
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-18
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-25
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-3
Breaking change
Image.resize/3
renamed toImage.thumbnail/3
bug-fixes-26
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-19
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-20
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-21
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-27
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-22
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-23
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-24
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-28
Bug fixes
- Don't attempt to compile code that refers to
Plug.t
ifPlug
is not configured. Thanks to @kwando. Closes #7.
enhancements-25
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-26
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-27
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-28
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-29
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-30
Enhancements
- Initial release