All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
-
Enhancements
- Added
limit/2
andlimit/3
to set pixel cache limits (#112)
- Added
-
Bugfixes
- Fix for
custom(image, "morphology", ...)
multi-word parameters (#114)
- Fix for
- Enhancements
- Added
:format
option toidentify/2
(#109)
- Added
- Bugfixes
- Fixed
format/2
when saving without extension or saving in place - Avoid potential buffer corruption in
create/2
- Windows: Fixed
resize_to_limit/2
and faster command invocation
- Fixed
-
Breaking changes
save/2
andverbose/1
will useconvert
andidentify
executables instead ofmogrify
(except forin_place: true
passed tosave/2
). This fixes issues related to ImageMagick 6.9.12-14 and 7.0.11-13 behavior changes, where the input file would get overwritten.
-
Enhancements
- Added
identify/1
which works similarly toverbose/1
- Added
-
Bugfixes
histogram/1
will parse fractional RGB values- Input file will no longer be overwritten (except for
in_place: true
passed tosave/2
) when using ImageMagick 6.9.12-14 or higher, and ImageMagick 7.0.11-13 or higher
-
Breaking changes
create/2
andsave/2
will throw an error if the ImageMagick command fails
-
Enhancements
- Added configuration options for
mogrify
andconvert
executable paths. See README.
- Added configuration options for
- Enhancements
- Added support for Plasma via
custom(image, "plasma", ...)
combined withcreate/2
. See README for an example.
- Added support for Plasma via
- Bugfixes
- Create intermediate missing directories instead of silently failing
save/2
andcreate/2
- Fix for
custom(image, "annotate", ...)
with multi-word text - Skip Pango unit tests if Pango not installed
- Create intermediate missing directories instead of silently failing
-
Enhancements
- Added
quality/2
- Added
-
Bugfixes
- Fix commands on Windows
-
Enhancements
- Added
:buffer
and:into
options tocreate/2
(notsave/2
; see #56). Allows writing to an in-memory buffer, or other Collectable of your choice, instead of a file. - Added
Image.buffer
field
- Added
-
Bugfixes
- Allow nil
Image.path
withcreate/2
, helps when creating images from scratch with Pango
- Allow nil
- Fix
histogram/1
for RGBA images
-
Breaking changes
- Requires Elixir 1.2 or higher
-
Enhancements
- Added support for Pango via
custom(image, "pango", ...)
combined withcreate/2
. See README for an example.
- Added support for Pango via
- Added
histogram/1
- Fix Erlang 19 compiler warning
- Fix hang with options without params (such as
-auto-orient
)
- Fix Elixir 1.4 warnings
- Fix test failures on OS X
- Fix for spaces in file paths
- Fix for
custom/3
handling of options and params with whitespace
-
New functions
create/2
usesconvert
CLI tool to create a new image from scratch, without requiring a base image. See mogrify_draw for an example use case.
-
Enhancements
custom/3
supports "plus-form" arguments, e.g.custom(image, "+raise", 50)
-
Breaking changes
Image.width
andImage.height
are now integers instead of binaries
-
Enhancements
verbose/1
no longer modifies the input file- Added
Image.frame_count
integer field for animated images, set byverbose/1
verbose/1
now sets theImage.animated
field for images containing multiple frames
- Fixed Elixir 1.3 compiler warnings
- Added
gravity/2
, for example:gravity(image, "Center")
-
Breaking changes
- Mogrify 0.3 now defers commands and bulk executes them when calling
save/2
. You must callsave/2
for any operations to take place. save(image)
by default creates a temporary filesave(image, in_place: true)
gets the old behavior of overwriting the existing filesave(image, path: "/some/destination.jpg")
lets you specify the path to write the new file
- Mogrify 0.3 now defers commands and bulk executes them when calling
-
New functions
auto_orient/1
corresponding tomogrify -auto-orient
custom/3
letting you run arbitrary commands, for example:custom(image, "gaussian-blur", 5)
-
Bugfixes
- Fixed
mix test
failures on Windows - Avoid dirty Git working directory when running
mix test
- Fixed
-
Misc
- Mogrify is now licensed under the MIT License