Releases: elixir-image/image
Image version 0.48.0
Enhancements
-
Add
:model_options
and:featurizer_options
configuration keys forImage.Classifier
. These options are expected to be the options passed toBumblebee.load_model/2
andBumblebee.load_featurizer/2
respectively. -
Add
:batch_size
as a configuration option. The value is passed toBumblebee.Vision.image_classification/4
. The default value is10
.
Image version 0.47.0
Bug Fixes
- Fix warnings for Elixir 1.17
Enhancements
- Add
Image.from_nx!/2
Image version 0.46.0
Enhancements
- Adds
:dpi
as an option toImage.Text.text/2
andImage.Text.simple_text/2
.
Image version 0.45.0
Breaking changes
The implementations of Image.text/2
and Image.simple_text/2
have been simplified to use only the built-in Pango renderer. A bug in font sizing using the Pango renderer has also been fixed. As a result, there may be some small visual differences between text images generated by Image 0.45.0 compared to previous releases.
-
Image.text/2
now uses only the built-in Pango renderer for all use cases. SVG is not nhow used for any rendering inImage.text/2
orImage.simple_text/2
. This gives a more consistent output and less ambiguity. However as a result, a small number of options are no longer available since they cannot be honoured by Pango:-
:text_stroke_color
-
:text_stroke_width
-
-
The
:autofit
option toImage.text/2
is also removed. The autofit capability is now controlled by whether the:width
and/or:height
options are provided. -
Some other options are now treated differently in
Image.text/2
::width
and:height
are now truly optional. If ommitted, the renderer will calculate the required image size based upon the other options. It is acceptable to specify:width
and omit:height
in which case the maximum width is fixed and the height is variable.
Bug Fixes
-
Fix warnings on upcoming Elixir 1.17.
-
A bug resulting in incorrect font sizing with using the Pango renderer has been fixed. Font sizing is now very similar to the sizing of the previously used SVG renderer.
Image version 0.44.0
Enhancements
- Adds
Image.Blurhash.encode/2
andImage.Blurhash.decode/1
to encode and decode blurhashes. Based upon a fork of rinpatch_blurhash. Thanks to @stiang for the suggestion. Thanks very much to @rinpatch for the implementation.
Image version 0.43.2
Bug Fixes
-
Fix typo in exif
:subsec_time_original
. -
Remove spurious leading space from exif tag description " Standard Output Sensitivity and Recommended Exposure Index"
-
Fix decoding exif tags that have an empty string as a value.
Thanks to Cam Cook for the issues.
Image version 0.43.1
Bug Fixes
-
Image.from_kino/2
andImage.from_kino!/2
now use the:file_ref
field in the Kino input structure to identify the required image. This changed was added in Kino 0.11 which is therefore now a minimum version requirement. Thanks to @kevinschweikert for the PR. Closes #133. -
Improve the thumbnailing guide. Thanks to @nathanl for the PR. Closes #132.
Image version 0.43.0
Breaking Changes
-
Image.erode/2
andImage.dilate/2
now take aradius
parameter rather than apixels
parameter. Both functions have been refactored to allow a radius in the range1..5
with a default of1
. The radius represents the dimension of the matrix used in theVix.Vips.Operations.range/4
function that underpins dilation and erosion. As such they represent the approximate number of pixels eroded or dilated. In addition, this function now results in a singlelibvips
operation. The previous implementation createdn
operations (wheren
was the value of thepixels
param) that could result in a slow imaging pipeline and in some cases a segfault of the entire VM due to stack space exhaustion in libvips. -
The signature for
Image.linear_gradient/{1..3}
has changed. The function now takes:- An image and an optional keyword list of options
- A width and height as numbers and a keyword list of options
-
Image.dominant_color/2
now returns an{:ok, rgb_color}
tuple rather than a[r, g, b]
list. UseImage.dominant_color!/2
if only the color value return is required. -
Image.map_pages/2
is deprecated in favour ofImage.map_join_pages/2
to better reflect the intent of the function.
Enhancements
-
Image.linear_gradient/{1..3}
now takes an:angle
option which determines the angle of the gradient in degrees. Thanks to @severian1778 for considerable patience. Closes #67. -
Improve options handling and documentation for
Image.radial_gradient/3
. -
Add
Image.radial_gradient!/3
to mirrorImage.radial_gradient/3
. -
Add
Image.dominant_color!/2
to mirrorImage.dominant_color/2
. -
Add
Image.extract_pages/1
which will extract the pages of a multi-page into a list of separate images.
Image version 0.42.0
Deprecations
-
Image.interpretation/0
deprecated in favour ofImage.colorspace/0
. This is more orthogonal to theImage.to_colorspace/2
call and more in line with common image lexicons. -
Image.convert_to_mask/1
is deprecated in favour ofImage.covert_alpha_to_mask/1
which is more descriptive of the functions purpose. -
Image.type/1
is deprecated in favour ofImage.band_format/1
. This function name expresses clearer intent.
Bug Fixes
- Fix
:rbg
colorspace to be the correct name of:rgb
.
Enhancements
Image version 0.41.0
Enhancements
- Adds
Image.YUV
module that provides functions to convert between YUV and RGB image data. Thanks very much to @mat-hek for the collaboration. This module makes it easier to work with video image data which is typically in YUV encoded. The module supports 4:4:4, 4:2:2 and 4:2:0 encoding in either of the BT601 or BT709 colorspaces.