Wand Changelog¶
0.7 series¶
Version 0.7.0¶
Unreleased.
Added
Image.affine()
method.Added
Image.bilateral_blur()
method.Added
Image.evaluate_images()
method.Added
Image.floodfill()
method.Added
Image.morph()
method.Fixed
Image.quantize()
behavior by switching default value ofcolorspace_type
fromNone
to"undefined"
. [#644]Fixed
Image.liquid_rescale()
behavior by switching default value ofdelta_x
from0
to1
. [#653]Fixed
Image.sparse_color()
’scolors
argument structure to allow multiple (x, y) points with the same color value.[TEST] Added Python 3.12 regression test. [#648 by Thijs Triemstra]
0.6 series¶
Version 0.6.13¶
Released on November 3rd, 2023.
Removed broken pyproject.toml file from source distribution.
Version 0.6.12¶
Released on November 3rd, 2023.
Fixed behavior when passing zero to
Image.chop()
. [#622]Fixed libmagick yield MagickCore library on Linux. [#612]
Fixed removing mask when passing
None
toImage.write_mask()
method. [#636]Added new
COMPOSITE_OPERATORS
operators. [#627 by druzhynin-oleksii]
'freeze'
'interpolate'
'negate'
'reflect'
'rmse'
'saliency'
'seamless_blend'
'soft_burn'
'soft_dodge'
'stamp'
[DOC] Updated Sphinx version to 7.2.6
Version 0.6.11¶
Released on January 5th, 2023.
Fixed format issue when calling
Image.convert()
, andImage.make_blob()
methods. [#594]Fixed storage type size for “long” & “quantum” values in
Image.export_pixels()
andImage.import_pixels()
methods. [#596]Added
filter
parameter toImage.distort()
method.[TEST] Added Python 3.11 to regression tests for github actions.
[TEST] Replaced
py.path
fixtures withpythlib
. [!607 & #608 by Louis Sautier][TEST] Retired Python2 support from regression testing.
[TEST] Upgraded Travis CI <https://travis-ci.org/github/emcconville/wand> build environments.
Version 0.6.10¶
Released on August 14th, 2022.
Version 0.6.9¶
Released on August 3rd, 2022.
Updated
Image.fx()
method to raiseWandRuntimeError
if ImageMagick is unable to generate an image. [#582]Fixed
Image.from_array()
classmethod to handle Numpy’s strided arrays. [#582]Fixed segmentation fault introduced with ImageMagick 7.1.0-45. [#586]
Version 0.6.8¶
Released on July 16th, 2022.
Added
Image.label()
method.Added
Image.region()
method.Updated
Image.chop()
method to supportgravity
keyword.Updated
Image.extent()
method to supportgravity
keyword. [#554]Added .so.9 shared library suffix to
wand.api.library_paths()
generator when searchingMAGICK_HOME
path.Added
QUANTUM_SCALE
constant.Added
Image.montage()
method. [#575]Added
Image.roll()
method.Fixed returned values for
Image.connected_components()
method for ImageMagick 7.1.1. [#574]Fixed
MagickSetImageDepth()
C-API method signature. [#577 by Pavel Borzenkov]Fixed
Image.encipher()
method to call the correct API. [#578 by Pavel Borzenkov][DOC] Improved
FontMetrics
documentation. [#566][TEST] Migrated CI from travis-ci.org to travis-ci.com.
[TEST] Removed unneeded SVG dependency from regression test.
[TEST] Suppressed
OptionWarning
when testing user errors.[TEST] Added Python 3.9 regression test for travis-ci.com.
[TEST] Removed Python 3.7 & 3.8 regression test for travis-ci.com.
[TEST] Added Python 3.10 regression tests for github actions.
Version 0.6.7¶
Released on August 16th, 2021.
Added
Image.image_add()
method.Added
Image.image_get()
method.Added
Image.image_remove()
method.Added
Image.image_set()
method.Added
Image.image_swap()
method.Fixed sub-image extraction on read. [#532]
Fixed
background_color
attribute when image was not read.[DOC] Completed Distortion guide. [#534]
[DOC] Added Morphology guide.
Version 0.6.6¶
Released on February 28th, 2021.
Added
Image.get_image_distortion()
method.Fixed QuantumType allocation for 32-bit architectures using HDRI. [#518]
Fixed MagickSizeType allocation for
ResourceLimits.set_resource_limit()
and segfault witharmv7l
architecture. [#520]Fixed
Color
deallocation error on 32-bit architectures.Deprecated
wand.color.scale_quantum_to_int8()
[TEST] Deprecated PDF format from test assets.
[TEST] Deprecated
Drawing
test fx_wand fixture to improve parallel CI testing.[TEST] Marked all ImageMagick-7 features skipped when running test suite with ImageMagick-6. [#522]
Version 0.6.5¶
Released on November 29th, 2020.
Version 0.6.4¶
Released on November 21st, 2020.
Fixed MagickFloatType mapping for s390x architecture. [#504 & #505]
Fixed image order when calling
wand.sequence.Sequence.__setitem__()
method. [#506]Fixed
Image.gaussian_blur()
method withchannel
parameter. [#507]Added
Image.color_threshold()
method.Added
Image.convex_hull()
method. Requires ImageMagick-7.0.10 or above.Added
Image.kmeans()
method. Only available with ImageMagick-7.0.10-37 or later.Added
Image.minimum_bounding_box()
method. Requires ImageMagick-7.0.10 or above;Added
Image.white_balance()
method. Only available with ImageMagick-7.0.10-37 or later.Added
percent_background
&background_color
parameters toImage.trim()
method.Added the following arguments to
Image.connected_components()
:
angle_threshold
background_id
circularity_threshold
diameter_threshold
eccentricity_threshold
keep_colors
keep_top
major_axis_threshold
minor_axis_threshold
perimeter_threshold
remove_colors
Added
'inverse_log'
operator toImage.evaluate()
method.Added
'rigidaffine'
operator toImage.distort()
method. Requires ImageMagick-7.0.10 or above.Added
PAPERSIZE_MAP
dict as a convenience lookup table.Added support for setting
Image.page
attribute with papersizes defined inPAPERSIZE_MAP
.[DOC] Created Threshold guide.
[DOC] Created Quantize guide.
Version 0.6.3¶
Released on September 14th, 2020.
Fixed buffer overflow bug in
Image.connected_components()
method. [#496]Added
Image.data_url()
method. [#489]Added
Image.sampling_factors
property. [#491]Added
Image.encipher()
&Image.decipher()
methods.Argument
fuzz
forImage.transparent_color()
now acceptsnumbers.Real
numbers.Uniformed additional pre-read parameters between
Image.__init__()
&Image.read()
.
Version 0.6.2¶
Released on July 6th, 2020.
Added aspect cropping support for
Image.transform()
method.Added iterator methods to directly navigate the internal image-stack.
Added
gray
&cmyk
support for Numpy’s array interface.Fixed
display()
on Windows & MacOS when previewing MIFF & XC formats.Fixed memory leak in
Image.transform()
for ImageMagick-6.Fixed animation preservation with
Image.transform()
method. [#251]Fixed
Image.interlace_scheme
property. [#488][DOC] Make the documentation reproducible. [#484 by Chris Lamb]
Version 0.6.1¶
Released on May 15th, 2020.
Fixed RuntimeError on deallocation when
allocation_map
changes. [#482 by Louis Sautier]
Version 0.6.0¶
Released on May 14th, 2020.
Updated
numpy
array interface methods to accept / generateshape
data values asrows
,columns
, andchannels
. This change should match other python-image numpy integrations. [#447]Added
adjoin=
argument toImage.save()
method.Added
reset_coords=
argument toImage.trim()
method. [#472 ]Added Python 2 classifiers to
MANIFEST.in
. [#462 by Thijs Triemstra]Added both test-cases and documentation to source distribution packages. [#7, #479, #480]
Removed
README.rst
fromsetup.py
. [#460]Fixed segfault on macOS when invoking resource limits without calling
MagickWandGenesis()
.Fixed
grayscalealpha
spelling. [#463]Fixed
Image.deskew()
threshold argument. [#467]Fixed
Image.alpha_channel
property to apply changes to all images in the stack. [#468]Fixed
Image.trim()
paging offsets affected by 1x1 border. [#475][TEST] Updated Travis CI environment to Ubuntu 18.04.04 LTS (Bionic)
[TEST] Deprecated display fixtures.
0.5 series¶
Version 0.5.9¶
Released on February 10th, 2020.
Fixed
dither
parameter inImage.quantize()
method for ImageMagick-7.Added
Image.combine()
method. [Thanks Fred!]Check
__fspath__
attribute forfilename
parameter when callingImage.save()
. [#452]Fixed typo in
ProfileDict
documentation. [#450 by Thijs Triemstra]Fixed typo in
Resource.c_is_resource
documentation. [#448]Updated broken sentence in
Image.thumbnail()
method. [#446]Check for
linux_distribution()
as method was removed in Python 3.8. [#456]Added
Image.delay
property. Previously only available withSingleImage
class.
Version 0.5.8¶
Released on December 5th, 2019.
Check
WAND_MAGICK_LIBRARY_SUFFIX
for additional library suffixes. [#436]Fixed
MagickCompareImagesLayers()
loading for ImageMagick-6 [#439]Fixed incorrect color values for first 5 pixels when exporting to
numpy.array
[#442]Updated example in
Image.annotate()
docstring. [#441 by alexgv]Fixed
Image.resolution
property to return a tuple of float values. [#444]Improved pycache performance by explicitly defining all ImageMagick warnings & errors in
wand.exceptions
. Previously all ImageMagick exceptions were generated dynamically during run-time.
Version 0.5.7¶
Released on September 3rd, 2019.
Added
Image.color_decision_list()
method.Added
Image.contrast()
method.Added
Image.local_contrast()
method.Added
Image.ordered_dither()
method.Added
Image.random_threshold()
method.Added
Image.read_mask()
method. [#433]Added
Image.scale()
method.Added
Image.sepia_tone()
method.Added
Image.swirl()
method.Added
Image.write_mask()
method. [#433]Converted positional to key-word arguments to allow default values & allow more consistent behavior with CLI operations for the following methods:
Added
colorspace
&units
argument toImage
init. This is useful for defining sRGB ahead of reading CMYKA PDF documents.
Version 0.5.6¶
Released on August 2nd, 2019.
Fixed invalid escape sequence warnings [#428]
Fixed error on Drawing exception handling. [#427]
Fixed undefined behavior when working with image frames in ImageMagick-7. [#431]
Added
Image.annotate()
method. [#418]Added
Image.level_colors()
method.Added
Image.levelize_colors()
method.Added
Image.parse_meta_geometry()
method.Added
Image.percent_escape()
helper method. [#421]Added
Image.ping()
class method. [#425]Added
mean_color
,keep
, &remove
parameters inImage.connected_components()
method.
Version 0.5.5¶
Released on July 8th, 2019.
Rewrote
Image.contrast_stretch()
method to follow modern CLI behavior.Added
Image.chop()
method.Added
Image.clahe()
method.Added
Image.features()
method.Added
Image.forward_fourier_transform()
method.Added
Image.inverse_fourier_transform()
method.Added
Image.magnify()
method.Added
channel
parameter support for the following methods.
Added support for new methods introduced with ImageMagick 7.0.8-41. Upgrade to the latest ImageMagick version to take advantage of the following features.
Version 0.5.4¶
Released on May 25th, 2019.
Rewrote
libc
library loader. [#409]Respect
background
parameter inImage.__init__()
constructor. [#410]Fixed
Drawing.get_font_metrics()
not raising internal ImageMagick exception on rendering error. [#411]Fixed deleting image artifact value.
Fixed offset memory calculation in
Image.export_pixels()
&Image.import_pixels()
methods. [#413]Added
Image.auto_gamma()
method.Added
Image.auto_level()
method.Added
Image.border_color
property.Added
Image.brightness_contrast()
method.Added
Image.mode()
method.Added
Image.motion_blur()
method.Added
Image.oil_paint()
method.Added
Image.opaque_paint()
method.Added
Image.polaroid()
method.Added
Image.rendering_intent
property.Added
Image.rotational_blur()
method.Added
Image.scene
property.Added
Image.shear()
method.Added
Image.sigmoidal_contrast()
method.Added
Image.similarity()
method.Added
Image.stegano()
method.Added
Image.stereogram()
class method.Added
Image.texture()
method.Added
Image.thumbnail()
method. [#357 by yoch]Added
Image.ticks_per_second
property.
Version 0.5.3¶
Released on April 20, 2019.
Fixed alpha channel set to “on” & “off” values for ImageMagick-7. [#404]
Updated
Image.composite
&Image.composite_channel
to include optional arguments for composite methods that require extra controls.Updated
Image.composite
&Image.composite_channel
to include optional gravity argument.
- Support for numpy arrays. [#65]
Added
Image.from_array
class method.
- Support color map / palette manipulation. [#403]
Added
Image.colors
property.Added
Image.color_map()
method.Added
Image.cycle_color_map()
method.Support for
highlight
&lowlight
has been added toImage.compare()
method.Support for PEP-519 for objects implementing
__fspath__
, inencode_filename()
.Added
Image.adaptive_blur()
method.Added
Image.adaptive_resize()
method.Added
Image.adaptive_sharpen()
method.Added
Image.adaptive_threshold()
method.Added
Image.black_threshold()
method.Added
Image.blue_shift()
method.Added
Image.charcoal()
method.Added
Image.color_matrix()
method.Added
Image.colorize()
method.Added
Image.fuzz
property.Added
Image.kurtosis
property.Added
Image.kurtosis_channel()
methodAdded
Image.maxima
property.Added
Image.mean
property.Added
Image.mean_channel()
methodAdded
Image.minima
property.Added
Image.noise()
method.Added
Image.range_channel()
methodAdded
Image.remap()
method.Added
Image.selective_blur()
method.Added
Image.skewness
property.Added
Image.sketch()
method.Added
Image.smush()
method.Added
Image.sparse_color()
method.Added
Image.splice()
method.Added
Image.spread()
method.Added
Image.standard_deviation
property.Added
Image.statistic()
method.Added
Image.tint()
method.
Special thanks to Fred Weinhaus for helping test this release.
Version 0.5.2¶
Released on March 24, 2019.
Import
collections.abc
explicitly. [#398 by Stefan Naumann]Fixed memory leak in
HistogramDict
. [#397]
Image.read()
will raiseWandRuntimeError
ifMagickReadImage()
returnsMagickFalse
, but does not emit exception. [#319]Added
Image.implode()
method.Added
Image.vignette()
method.Added
Image.wave()
method.Added
Image.white_threshold()
method.Added
Image.blue_primary
property.Added
Image.green_primary
property.Added
Image.interlace_scheme
property.Added
Image.interpolate_method
property.Added
Image.red_primary
property.Added
Image.white_point
property.
Version 0.5.1¶
Released on February 15, 2019.
Added set pixel color via Image[x, y] = Color(’…’). [#105]
Added
limits
helper dictionary to allows getting / setting ImageMagick’s resource-limit policies. [#97]Fixed segmentation violation for win32 & ImageMagick-7. [#389]
Fixed AssertError by moving
SingleImage
sync behavior fromdestroy
to context__exit__
. [#388]Fixed memory leak in
get_font_metrics
. [#390]Added property setters for
Color
attributes.Added
cyan
,magenta
,yellow
, &black
properties for CMYKColor
instances.Color
instance can be created from HSL values withfrom_hsl()
class method.Added
Image.compose
property for identifying layer visibility.Added
Image.profiles
dictionary attribute. [#249]Moved
collections.abc
towand.compat.abc
for Python-3.8. [#394 by Tero Vuotila]Update
wand.display
to use Python3 compatibleprint()
function. [#395 by Tero Vuotila]
Version 0.5.0¶
Released on January 1, 2019.
Support for ImageMagick-7.
Improved support for 32-bit systems.
Improved support for non-Q16 libraries.
Removed README.rst from setup.py’s data_files. [#336]
Improved EXIF:ORIENTATION handling. [#364 by M. Skrzypek]
Tolerate failures while accessing wand.api. [#220 by Utkarsh Upadhyay]
Added support for Image Artifacts through
Image.artifacts
. [#369]Added optional stroke color/width parameters for
Font
.Image layers support (#22)
Added
Image.coalesce()
method.Added
Image.deconstruct
method.Added
Image.dispose
property.Added
Image.optimize_layers()
method.Added
Image.optimize_transparency()
method.
Implemented
__array_interface__()
for NumPy [#65]Migrated the following methods & attributes from
Image
toBaseImage
for a more uniformed code-base.Added
Image.clut()
method.Added
Image.concat()
method. [#177]Added
Image.deskew()
method.Added
Image.despeckle()
method.Added
Image.edge()
method.Added
Image.emboss()
method. [#196]Added
Image.enhance()
method. [#132]Added
Image.export_pixels()
method.Added
Image.import_pixels()
method.Added
Image.morphology()
method. [#132]Added
Image.posterize()
method.Added
Image.shade()
method.Added
Image.shadow()
method.Added
Image.sharpen()
method. [#132]Added
Image.shave()
method.Added
Image.unique_colors()
method.Method
Drawing.draw()
now acceptsBaseImage
for folks extended classes.Added
Image.loop
property. [#227]Fixed
SingleImage.delay
property. [#153]Attribute
Image.font_antialias
has been deprecated in favor ofImage.antialias
. [#218]Fixed ordering of
COMPRESSION_TYPES
based on ImageMagick version. [#309]Fixed drawing on
SingleImage
. [#289]Fixed wrapping issue for larger offsets when using gravity kwarg in
Image.crop()
method. [#367]
0.4 series¶
Version 0.4.5¶
Released on November 12, 2018.
Improve library searching when
MAGICK_HOME
environment variable is set. [#320 by Chase Anderson]Fixed misleading TypeError: object of type ‘NoneType’ has no len() during destroy routines. [#346 by Carey Metcalfe]
Added
Image.blur()
method (MagickBlurImage()
). [#311 by Alexander Karpinsky]Added
Image.extent()
method (MagickExtentImage()
). [#233 by Jae-Myoung Yu]Added
Image.resample()
method (MagickResampleImage()
). [#244 by Zio Tibia]
Version 0.4.4¶
Released on October 22, 2016.
Added
BaseError
,BaseWarning
, andBaseFatalError
, base classes for domains. [#292]Fixed
TypeError
during parsing version caused by format change of ImageMagick version string (introduced by 6.9.6.2). [#310, Debian bug report #841548]Properly fixed again memory-leak when accessing images constructed in
Image.sequence[]
. It had still leaked memory in the case an image is not closed usingwith
but manualwand.resource.Resource.destroy()
/wand.image.Image.close()
method call. [#237]
Version 0.4.3¶
Released on June 1, 2016.
Added
Image.compare()
method (MagickCompareImages()
). [#238, #268 by Gyusun Yeom]Added
Image.page
and related properties for virtual canvas handling. [#284 by Dan Harrison]Added
Image.merge_layers()
method (MagickMergeImageLayers()
). [#281 by Dan Harrison]Fixed
OSError
during importlibc.dylib
due to El Capitan’s SIP protection. [#275 by Ramesh Dharan]
Version 0.4.2¶
Released on November 30, 2015.
Fixed
ImportError
on MSYS2. [#257 by Eon Jeong]Added
Image.quantize()
method (MagickQuantizeImage()
). [#152 by Kang Hyojun, #262 by Jeong YunWon]Added
Image.transform_colorspace()
quantize (MagickTransformImageColorspace()
). [#152 by Adrian Jung, #262 by Jeong YunWon]Now ImageMagick DLL can be loaded on Windows even if its location is stored in the registry. [#261 by Roeland Schoukens]
Added
depth
parameter toImage
constructor. Thedepth
,width
andheight
parameters can be used with thefilename
,file
andblob
parameters to load raw pixel data. [#261 by Roeland Schoukens]
Version 0.4.1¶
Released on August 3, 2015.
Added
Image.auto_orient()
that fixes orientation by checking EXIF tags.Added
Image.transverse()
method (MagickTransverseImage()
).Added
Image.transpose()
method (MagickTransposeImage()
).Added
Image.evaluate()
method.Added
Image.frame()
method.Added
Image.function()
method.Added
Image.fx()
expression method.Added
gravity
options inImage.crop()
method. [#222 by Eric McConville]Added
Image.matte_color
property.Added
Image.virtual_pixel
property.Added
Image.distort()
method.Added
Image.contrast_stretch()
method.Added
Image.gamma()
method.Added
Image.linear_stretch()
method.Additional support for
Image.alpha_channel
.Additional query functions have been added to
wand.version
API. [#120]Added
configure_options()
function.Added
fonts()
function.Added
formats()
function.
Additional IPython support. [#117]
Fixed memory-leak when accessing images constructed in
Image.sequence[]
. [#237 by Eric McConville]Fixed Windows memory-deallocate errors on
wand.drawing
API. [#226 by Eric McConville]Fixed
ImportError
on FreeBSD. [#252 by Pellaeon Lin]
Version 0.4.0¶
Released on February 20, 2015.
See also
- What’s new in Wand 0.4?
This guide introduces what’s new in Wand 0.4.
Complete
wand.drawing
API. The whole work was done by Eric McConville. Huge thanks for his effort! [#194 by Eric McConville]Added
Drawing.arc()
method (Arc).Added
Drawing.bezier()
method (Bezier).Added
Drawing.circle()
method (Circle).-
Added
wand.drawing.PAINT_METHOD_TYPES
constant.Added
Drawing.color()
method.Added
Drawing matte()
method.
Added
Drawing.composite()
method (Composite).Added
Drawing.ellipse()
method (Ellipse).-
Added
path_start()
method.Added
path_finish()
method.Added
path_close()
method.Added
path_curve()
method.Added
path_curve_to_quadratic_bezier()
method.Added
path_elliptic_arc()
method.Added
path_horizontal_line()
method.Added
path_line()
method.Added
path_move()
method.Added
path_vertical_line()
method.
Added
Drawing.point()
method (Point).Added
Drawing.polygon()
method (Polygon).Added
Drawing.polyline()
method (Polyline).-
Added
push()
method.Added
push_clip_path()
method.Added
push_defs()
method.Added
push_pattern()
method.Added
clip_path
property.Added
set_fill_pattern_url()
method.Added
set_stroke_pattern_url()
method.Added
pop()
method.
Added
Drawing.rectangle()
method (Rectangles).Added
stroke_dash_array
property.Added
stroke_dash_offset
property.Added
stroke_line_cap
property.Added
stroke_line_join
property.Added
stroke_miter_limit
property.Added
stroke_opacity
property.Added
stroke_width
property.Added
fill_opacity
property.Added
fill_rule
property.
Error message of
MissingDelegateError
raised byImage.liquid_rescale()
became nicer.
0.3 series¶
Version 0.3.9¶
Released on December 20, 2014.
Added
'pdf:use-cropbox'
option toImage.options
dictionary (andOPTIONS
constant). [#185 by Christoph Neuroth]Fixed a bug that exception message was
bytes
instead ofstr
on Python 3.The
size
parameter ofFont
class becomes optional. Its default value is 0, which means autosized. [#191 by Cha, Hojeong]Fixed a bug that
Image.read()
had tried usingMagickReadImageFile()
even when the given file object has nomode
attribute. [#205 by Stephen J. Fuhry]
Version 0.3.8¶
Released on August 3, 2014.
Fixed a bug that transparent background becomes filled with white when SVG is converted to other bitmap image format like PNG. [#184]
Added
Image.negate()
method. [#174 by Park Joon-Kyu]Fixed a segmentation fault on
Image.modulate()
method. [#173 by Ted Fung, #158]Added suggestion to install freetype also if Homebrew is used. [#141]
Now image/x-gif also is determined as
animation
. [#181 by Juan-Pablo Scaletti]
Version 0.3.7¶
Released on March 25, 2014.
A hotfix of debug prints made at 0.3.6.
Version 0.3.6¶
Released on March 23, 2014.
Added
Drawing.rectangle()
method. Now you can draw rectangles. [#159]Added
Image.compression
property. [#171]Added
contextlib.nested()
function towand.compat
module.Fixed
UnicodeEncodeError
whenDrawing.text()
method gives Unicodetext
argument in Python 2. [#163]Now it now allows to use Wand when Python is invoked with the
-OO
flag. [#169 by Samuel Maudo]
Version 0.3.5¶
Released on September 13, 2013.
Fix segmentation fault on
Image.save()
method. [#150]
Version 0.3.4¶
Released on September 9, 2013.
Added
Image.modulate()
method. [#134 by Dan P. Smith]Added
Image.colorspace
property. [#135 by Volodymyr Kuznetsov]Added
Image.unsharp_mask()
method. [#136 by Volodymyr Kuznetsov]Added
'jpeg:sampling-factor'
option toImage.options
dictionary (andOPTIONS
constant). [#137 by Volodymyr Kuznetsov]Fixed ImageMagick shared library resolution on Arch Linux. [#139, #140 by Sergey Tereschenko]
Added
Image.sample()
method. [#142 by Michael Allen]Fixed a bug that
Image.save()
preserves only one frame of the given animation when file-like object is passed. [#143, #145 by Michael Allen]Fixed searching of ImageMagick shared library with HDR support enabled. [#148, #149 by Lipin Dmitriy]
Version 0.3.3¶
Released on August 4, 2013. It’s author’s birthday.
Added
Image.gaussian_blur()
method.Added
Drawing.stroke_color
property. [#129 by Zeray Rice]Added
Drawing.stroke_width
property. [#130 by Zeray Rice]Fixed a memory leak of
Color
class. [#127 by Wieland Morgenstern]Fixed a bug that
Image.save()
to stream truncates data. [#128 by Michael Allen]
Version 0.3.2¶
Released on July 11, 2013.
Fixed incorrect encoding of filenames. [#122]
Fixed key type of
Image.metadata
dictionary tostr
frombytes
in Python 3.Fixed CentOS compatibility [#116, #124 by Pierre Vanliefland]
Made
DrawSetTextInterlineSpacing()
andDrawGetTextInterlineSpacing()
optional.Added exception in drawing API when trying to use
DrawSetTextInterlineSpacing()
andDrawGetTextInterlineSpacing()
functions when they are not available.Added
WandLibraryVersionError
class for library versions issues.
Version 0.3.1¶
Released on June 23, 2013.
Fixed
ImportError
on Windows.
Version 0.3.0¶
Released on June 17, 2013.
See also
- What’s new in Wand 0.3?
This guide introduces what’s new in Wand 0.3.
Now also works on Python 2.6, 2.7, and 3.2 or higher.
Added
wand.drawing
module. [#64 by Adrian Jung]Added
Drawing.get_font_metrics()
method. [#69, #71 by Cha, Hojeong]Added
Image.caption()
method. [#74 by Cha, Hojeong]Added optional
color
parameter toImage.trim()
method.Added
Image.border()
method. [2496d37f75d75e9425f95dde07033217dc8afefc by Jae-Myoung Yu]Added
resolution
parameter toImage.read()
method and the constructor ofImage
. [#75 by Andrey Antukh]Added
Image.liquid_rescale()
method which does seam carving. See also Seam carving (also known as content-aware resizing).Added
Image.metadata
immutable mapping attribute andMetadata
mapping type for it. [#56 by Michael Elovskikh]Added
Image.channel_images
immutable mapping attribute andChannelImageDict
mapping for it.Added
Image.channel_depths
immutable mapping attribute andChannelDepthDict
mapping for it.Added
Image.composite_channel()
method.Added
Image.read()
method. [#58 by Piotr Florczyk]Added
Image.resolution
property. [#58 by Piotr Florczyk]Added
Image.blank()
method. [#60 by Piotr Florczyk]Fixed several memory leaks. [#62 by Mitch Lindgren]
Added
ImageProperty
mixin class to maintain a weak reference to the parent image.Ranamed
wand.image.COMPOSITE_OPS
toCOMPOSITE_OPERATORS
.Now it shows helpful error message when ImageMagick library cannot be found.
Added IPython-specialized formatter.
Added
QUANTUM_DEPTH
constant.Added these properties to
Color
class:Added
Image.normalize()
method. [#95 by Michael Curry]Added
Image.transparent_color()
method. [#98 by Lionel Koenig]Started supporting resizing and cropping of GIF images. [#88 by Bear Dong, #112 by Taeho Kim]
Added
Image.flip()
method.Added
Image.flop()
method.Added
Image.orientation
property. [88574468a38015669dae903185fb328abdd717c0 by Taeho Kim]wand.resource.DestroyedResourceError
becomes a subtype ofwand.exceptions.WandException
.Color
is now hashable, so can be used as a key of dictionaries, or an element of sets. [#114 by klutzy]Color
hasnormalized_string
property.Added optional
fuzz
parameter toImage.trim()
method. [#113 by Evaldo Junior]
0.2 series¶
Version 0.2.4¶
Released on May 28, 2013.
Fix
NameError
inResource.resource
setter. [#89 forwarded from Debian bug report #699064 by Jakub Wilk]Fix the problem of library loading for Mac with Homebrew and Arch Linux. [#102 by Roel Gerrits, #44]
Version 0.2.3¶
Released on January 25, 2013.
Fixed a bug that
Image.transparentize()
method (andImage.watermark()
method which internally uses it) didn’t work.Fixed segmentation fault occurred when
Color.red
,Color.green
, orColor.blue
is accessed.Added
Color.alpha
property.Fixed a bug that format converting using
Image.format
property orImage.convert()
method doesn’t correctly work to save blob.
Version 0.2.2¶
Released on September 24, 2012.
A compatibility fix for FreeBSD. [Patch by Olivier Duchateau]
Now
Image
can be instantiated without any opening. Instead, it can takewidth
/height
andbackground
. [#53 by Michael Elovskikh]Added
Image.transform()
method which is a convenience method accepting geometry strings to perform cropping and resizing. [#50 by Mitch Lindgren]Added
Image.units
property. [#45 by Piotr Florczyk]Now
Image.resize()
method raises a proper error when it fails for any reason. [#41 by Piotr Florczyk]Added
Image.type
property. [#33 by Yauhen Yakimovich, #42 by Piotr Florczyk]
Version 0.2.1¶
Released on August 19, 2012. Beta version.
Added
Image.trim()
method. [#26 by Jökull Sólberg Auðunsson]Added
Image.depth
property. [#31 by Piotr Florczyk]Now
Image
can take an optionalformat
hint. [#32 by Michael Elovskikh]Added
Image.alpha_channel
property. [#35 by Piotr Florczyk]The default value of
Image.resize()
’sfilter
option has changed from'triangle'
to'undefined'
. [#37 by Piotr Florczyk]Added version data of the linked ImageMagick library into
wand.version
module:MAGICK_VERSION
(GetMagickVersion()
)MAGICK_VERSION_INFO
(GetMagickVersion()
)MAGICK_VERSION_NUMBER
(GetMagickVersion()
)MAGICK_RELEASE_DATE
(GetMagickReleaseDate()
)MAGICK_RELEASE_DATE_STRING
(GetMagickReleaseDate()
)
Version 0.2.0¶
Released on June 20, 2012. Alpha version.
Added
Image.transparentize()
method. [#19 by Jeremy Axmacher]Added
Image.composite()
method. [#19 by Jeremy Axmacher]Added
Image.watermark()
method. [#19 by Jeremy Axmacher]Added
Image.quantum_range
property. [#19 by Jeremy Axmacher]Added
Image.reset_coords()
method andreset_coords
option toImage.rotate()
method. [#20 by Juan Pablo Scaletti]Added
Image.strip()
method. [#23 by Dmitry Vukolov]Added
Image.compression_quality
property. [#23 by Dmitry Vukolov]Now the current version can be found from the command line interface:
python -m wand.version
.
0.1 series¶
Version 0.1.10¶
Released on May 8, 2012. Still alpha version.
So many Windows compatibility issues are fixed. [#14 by John Simon]
Added
wand.api.libmagick
.Fixed a bug that raises
AttributeError
when it’s trying to warn. [#16 by Tim Dettrick]Now it throws
ImportError
instead ofAttributeError
when the shared library fails to load. [#17 by Kieran Spear]Fixed the example usage on index page of the documentation. [#18 by Jeremy Axmacher]
Version 0.1.9¶
Released on December 23, 2011. Still alpha version.
Now
wand.version.VERSION_INFO
becomestuple
andwand.version.VERSION
becomes a string.Added
Image.background_color
property.Added
==
operator forImage
type.Added
Image.signature
property.Added
wand.display
module.Changed the theme of Sphinx documentation.
Changed the start example of the documentation.
Version 0.1.8¶
Released on December 2, 2011. Still alpha version.
Wrote some guide documentations: Reading images, Writing images and Resizing and cropping.
Added
Image.rotate()
method for in-place rotation.Made
Image.crop()
to raise properValueError
instead ofIndexError
for invalid width/height arguments.Changed the type of
Image.resize()
method’sblur
parameter fromnumbers.Rational
tonumbers.Real
.Fixed a bug of raising
ValueError
when invalidfilter
has passed toImage.resize()
method.
Version 0.1.7¶
Released on November 10, 2011. Still alpha version.
Added
Image.mimetype
property.Added
Image.crop()
method for in-place crop.
Version 0.1.6¶
Released on October 31, 2011. Still alpha version.
Removed a side effect of
Image.make_blob()
method that changes the image format silently.Added
Image.format
property.Added
Image.convert()
method.Fixed a bug about Python 2.6 compatibility.
Use the internal representation of
PixelWand
instead of the string representation forColor
type.
Version 0.1.5¶
Released on October 28, 2011. Slightly mature alpha version.
Now
Image
can read Python file objects byfile
keyword argument.Now
Image.save()
method can write into Python file objects byfile
keyword argument.Image.make_blob()
’sformat
argument becomes omittable.
Version 0.1.4¶
Released on October 27, 2011. Hotfix of the malformed Python package.
Version 0.1.3¶
Released on October 27, 2011. Slightly mature alpha version.
Version 0.1.2¶
Released on October 16, 2011. Still alpha version.
Image
implements iterable interface.Added
wand.color
module.Added the abstract base class of all Wand resource objects:
wand.resource.Resource
.Image
implements slicing.Cropping
Image
using its slicing operator.
Version 0.1.1¶
Released on October 4, 2011. Still alpha version.
Now it handles errors and warnings properly and in natural way of Python.
Added
Image.make_blob()
method.Added
blob
parameter intoImage
constructor.Added
Image.resize()
method.Added
Image.save()
method.Added
Image.clone()
method.Drew the pretty logo picture (thanks to Hyojin Choi).
Version 0.1.0¶
Released on October 1, 2011. Very alpha version.