NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3801 most downloaded on PyPI
Ctypes-based simple MagickWand API binding for Python
Last release 3 months ago
25 Jun 2026
Ships unpredictably
gaps range from 8 days to 2.3 years
Nearly every release is documented
notes for 59 of 59 stable releases
Nothing withdrawn
no release was ever pulled
15 years old
59 releases · first in 2011
The 0.7.2 addresses de-synced file objects when reading images with file descriptors. Folks using Python's open() method for reading image data should
The 0.7.2 addresses de-synced file objects when reading images with file descriptors. Folks using Python's open() method for reading image data should updated.
See 0.7.2 Milestone for a list of all issues tracked in Github.
The following people have contributed since the Wand 0.7.1 release.
See git log 0.7.1..0.7.2 for a full history.
8 E. McConville
1 Max Gilmour
Released on June 25th, 2026.
Fixed de-synced offsets during file read operations. [ #688 & !689 by Max Gilmour]
Released on June 25th, 2026.
Fixed de-synced offsets during file read operations. [688 & 689 by Max Gilmour]
One column per quarter.
The 0.7.1 release includes a few bug fixes & documentation improvements.
The 0.7.1 release includes a few bug fixes & documentation improvements.
See 0.7.1 Milestone for a list of all issues tracked in Github.
See changelog for a list of all bug fixes.
The following people have contributed since the Wand 0.7.0 release.
See git log 0.7.0..0.7.1 for a full history.
15 E. McConville
3 Shawn Presser
Released on May 20th, 2026.
Updated accepted animation formats for Image.animation property. [ #682 ]
Added new FILTER_TYPES operators. [ #684 ]
'lanczosradius'
'cubicspline'
'magickernelsharp2013'
'magickernelsharp2021'
Fixed Image.length_of_bytes() method by refactoring & applying c_magick_size_t type. [ #686 ]
[DOC] Fixed typos in documentation [ !685 by Shawn Presser]
The 0.7.0 release marks the end of Python 2 support with old legacy compatibility code removed.
The 0.7.0 release marks the end of Python 2 support with old legacy compatibility code removed.
See 0.7.0 Milestone for a list of all issues tracked in Github.
See changelog for a list of all bug fixes.
See git log 0.7.0..0.6.0 for a full history.
1 busyboxkitty
1 Chandler Scott
1 Claude Paroz
52 E. McConville
3 Jamario Rankins
1 Roeland Schoukens
3 Thijs Triemstra
1 ulatekh
Released on February 23rd, 2026.
Added Image.affine() method.
Added Image.bilateral_blur() method.
Added Image.channel_fx() method.
Added Image.evaluate_images() method.
Added Image.floodfill() method.
Added Image.morph() method.
Fixed Image.quantize() behavior by switching default value of colorspace_type from None to "undefined" . [ #644 ]
Fixed Image.liquid_rescale() behavior by switching default value of delta_x from 0 to 1 . [ #653 ]
Fixed Image.sparse_color() ’s colors argument structure to allow multiple (x, y) points with the same color value.
Fixed offset coordinates when used with gravity parameters. [ #669 ]
Image.chop()
Image.composite()
Image.composite_channel()
Image.crop()
Image.extent()
Image.region()
Image.splice()
Fixed File I/O handling. [ #675 ]
Image.ping()
Image.read()
Image.save()
[DOC] Updated Python versions to reflect current regression testing.
[TEST] Added Python 3.12 regression test. [ #648 by Thijs Triemstra]
[TEST] Added pyproject.toml regression test.
🤦 Hotfix release to remove a "work-in-progress" pyproject.toml file that was mistakenly included with Wand 0.6.12 sdist package.
🤦 Hotfix release to remove a "work-in-progress" pyproject.toml file that was mistakenly included with Wand 0.6.12 sdist package.
Released on November 3rd, 2023.
Removed broken pyproject.toml file from source distribution.
Released on November 3rd, 2023.
Removed broken pyproject.toml file from source distribution.
The 0.6.12 release includes some minor bug fixes, adds a few composite operators, and updates Sphinx build versions (used for documentation).
The 0.6.12 release includes some minor bug fixes, adds a few composite operators, and updates Sphinx build versions (used for documentation).
See 0.6.12 Milestone for a list of all issues tracked in Github.
See changelog for a list of all bug fixes.
The following people have contributed since the Wand 0.6.11 release.
See git log 0.6.11..0.6.12 for a full history.
18 E. McConville
3 Louis Sautier
1 Kian-Meng Ang
1 odruzhynin
This tag was signed with the committer’s verified signature .
emcconville Eric McConville
GPG key ID: 5BDB94585A43632D
Verified Learn about vigilant mode .
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 to Image.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
The 0.6.11 release includes a few bug fixes, introduces filter= parameter for Image.distort() method, and regression testing rework.
The 0.6.11 release includes a few bug fixes, introduces filter= parameter for Image.distort() method, and regression testing rework.
See 0.6.11 Milestone for a full list of issues tracked through Github.
See changelog for a list of changes.
The following people have contributed since the Wand 0.6.10 release.
See git log 0.6.10..0.6.11 for a full history.
28 E. McConville
1 Louis Sautier
1 Ritesh Malviya
Released on January 5th, 2023.
Fixed format issue when calling Image.convert() , and Image.make_blob() methods. [ #594 ]
Fixed storage type size for “long” & “quantum” values in Image.export_pixels() and Image.import_pixels() methods. [ #596 ]
Added filter parameter to Image.distort() method.
[TEST] Added Python 3.11 to regression tests for github actions .
[TEST] Replaced py.path fixtures with pythlib . [ !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.
The 0.6.10 release is an immediate patch release to address additional segmentation faults, and Apple M1 stability issues. Everyone running ImageMagic
The 0.6.10 release is an immediate patch release to address additional segmentation faults, and Apple M1 stability issues. Everyone running ImageMagick-7, or Homebrew installations, should upgrade to this release.
Released on August 14th, 2022.
Fixed segmentation fault during resource allocation on M1 processor. [ #587 ]
Fixed additional segmentation faults introduced with ImageMagick 7.1.0-45. [ #587 & #586 ]
Released on August 14th, 2022.
Fixed segmentation fault during resource allocation on M1 processor. [587]
Fixed additional segmentation faults introduced with ImageMagick 7.1.0-45. [587 & 586]
The 0.6.9 version Wand fixes some critical segfault issues with the latest version of ImageMagick 7.1.0-45. All users of ImageMagick-7 should upgrade
The 0.6.9 version Wand fixes some critical segfault issues with the latest version of ImageMagick 7.1.0-45. All users of ImageMagick-7 should upgrade Wand as soon as possible.
See 0.6.9 Milestone for a list of all issues tracked in Github.
See changelog for a list of all bug fixes.
The following people have contributed since the Wand 0.6.8 release.
See git log 0.6.8..0.6.9 for a full history.
6 E. McConville
Released on August 3rd, 2022.
Updated Image.fx() method to raise WandRuntimeError 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 ]
Released on August 3rd, 2022.
Updated Image.fx() method to raise ~wand.exceptions.WandRuntimeError 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]
The 0.6.8 release includes a few new methods, few fixes, and a few documentation improvements.
The 0.6.8 release includes a few new methods, few fixes, and a few documentation improvements.
See 0.6.8 Milestone for a list of all issues tracked in Github.
See changelog for a list of all bug fixes.
The following people have contributed since the Wand 0.5.9 release.
See git log 0.6.7..0.6.8 for a full history.
1 1Prototype1
44 E. McConville
1 FrozenFOXX
2 Pavel Borzenkov
1 Tim Gates
Released on July 16th, 2022.
Added Image.label() method.
Added Image.region() method.
Updated Image.chop() method to support gravity keyword.
Updated Image.extent() method to support gravity keyword. [ #554 ]
Added .so.9 shared library suffix to wand.api.library_paths() generator when searching MAGICK_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 .
The 0.6.7 release introduces direct image-stack management methods, fixes format hints when reading blobs, and includes documentation guides for disto
The 0.6.7 release introduces direct image-stack management methods, fixes format hints when reading blobs, and includes documentation guides for distortion & morphology methods.
See 0.6.7 Milestone for a list of all issues tracked in Github.
See changelog for a list of all bug fixes.
The following people have contributed to Wand since the 0.6.6 release.
See git log 0.6.6..0.6.7 for a full history
22 E. McConville
1 Joris Kerkhoff
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.
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 ~wand.image.BaseImage.background_color attribute when image was not read.
[DOC] Completed Distortion guide. [534]
[DOC] Added Morphology guide.
The 0.6.6 release includes a few critical bug fixes for users of ImageMagick-7 on 32-bit architectures, and armv7 machines. Regression test have been
The 0.6.6 release includes a few critical bug fixes for users of ImageMagick-7 on 32-bit architectures, and armv7 machines. Regression test have been updated to remove PDF format as a test dependency.
See 0.6.6 Milestone for a list of all issues tracked in Github.
See changelog for a list of all bug fixes.
The following people have contributed since the Wand 0.6.5 release.
See git log 0.6.6..0.6.5 for a full history.
21 E. McConville
1 Louis Sautier
Big thanks to John Vandenberg & Open Build Service for running regression test with the latest ImageMagick-7.
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 with armv7l 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 ]
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 with armv7l architecture. [520]
Fixed ~wand.color.Color deallocation error on 32-bit architectures.
Deprecated wand.color.scale_quantum_to_int8()
[TEST] Deprecated PDF format from test assets.
[TEST] Deprecated ~wand.drawing.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]
This 0.6.5 release fixes a bunch of memory leaks, and allocation / deallocation issues with PyPy3.
This 0.6.5 release fixes a bunch of memory leaks, and allocation / deallocation issues with PyPy3.
See 0.6.5 Milestone for a list of all issues tracked in Github.
See changelog for a list of all bug fixes.
The following people have contributed since the Wand 0.6.4 release.
See git log 0.6.4..0.6.5 for a full history.
14 E. McConville
2 Gururaj R Katti
1 Thijs Triemstra
Released on November 29th, 2020.
Fixed memory allocation & deallocation bugs with PyPy3, and various memory leaks identified during regression testing. [ #510 ]
[TEST] Added Python 3.9 into Github regression tests. [ #513 by Thijs Triemstra]
Released on November 29th, 2020.
Fixed memory allocation & deallocation bugs with PyPy3, and various memory leaks identified during regression testing. [510]
[TEST] Added Python 3.9 into Github regression tests. [513 by Thijs Triemstra]
The 0.6.4 release adds a handful of new methods introduced to the ImageMagick-7 C-API, and fixes a few bugs reported for ppc & s390x architectures.
The 0.6.4 release adds a handful of new methods introduced to the ImageMagick-7 C-API, and fixes a few bugs reported for ppc & s390x architectures.
See 0.6.4 Milestone for a list of all issues tracked in Github.
See changelog for a list of all fixes.
The following people have contributed since the Wand 0.6.3 release.
See git log 0.6.3..0.6.4 for a full history.
28 E. McConville
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 with channel 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 to Image.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 to Image.evaluate() method.
Added 'rigidaffine' operator to Image.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 in PAPERSIZE_MAP .
[DOC] Created Threshold guide.
[DOC] Created Quantize guide.
The 0.6.3 release addresses a buffer overflow issue in wand.image.BaseImage.connected_components() method. This issue was introduced recently in Image
The 0.6.3 release addresses a buffer overflow issue in wand.image.BaseImage.connected_components() method. This issue was introduced recently in ImageMagick-7.0.10-XX, and users on this library version should upgrade Wand.
See 0.6.3 Milestone for a list of all issues tracked in Github.
See changelog for a list of all fixes.
The following people have contributed since the Wand 0.6.2 release.
See git log 0.6.2..0.6.3 for a full history.
41 E. McConville
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 for Image.transparent_color() now accepts numbers.Real numbers.
Uniformed additional pre-read parameters between Image.init() & Image.read() .
The 0.6.2 release addresses some minor bug fixes, and introduces direct image-stack iterator methods.
The 0.6.2 release addresses some minor bug fixes, and introduces direct image-stack iterator methods.
See 0.6.2 Milestone for a list of all issues tracked in Github.
See changelog for a list of all bug fixes.
The following people have contributed since the Wand 0.6.1 release.
See git log 0.6.1..0.6.2 for a full history.
1 Chris Lamb
33 E. McConville
1 Louis Sautier
Released on July 6th, 2020.
Added aspect cropping support for Image.transform() method.
Added iterator methods to directly navigate the internal image-stack.
Image.iterator_first()
Image.iterator_get()
Image.iterator_last()
Image.iterator_length()
Image.iterator_next()
Image.iterator_previous()
Image.iterator_reset()
Image.iterator_set()
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]
Patch release to address runtime errors. See #482 for details
Patch release to address runtime errors. See #482 for details
The following people have contributed since the Wand 0.6.0 release.
See git log 0.6.0..0.6.1 for a full history.
2 E. McConville
1 Louis Sautier
Released on May 15th, 2020.
Fixed RuntimeError on deallocation when allocation_map changes. [ #482 by Louis Sautier]
Released on May 15th, 2020.
Fixed RuntimeError on deallocation when allocation_map changes. [482 by Louis Sautier]
The 0.6.0 release includes a rewrite of the memory resource management, and introduces atexit methods for terminus routine. Plus a few bug fixes & doc
The 0.6.0 release includes a rewrite of the memory resource management, and introduces atexit methods for terminus routine. Plus a few bug fixes & doc improvements.
See 0.6.0 Milestone for a list of all issues tracked in Github.
See changelog for a list of all bug fixes.
The following people have contributed since the Wand 0.5.9 release.
See git log 0.5.9..0.6.0 for a full history.
74 E. McConville
1 Louis Sautier
2 Thijs Triemstra
1 Vegard Stikbakke
Released on May 14th, 2020.
Updated numpy array interface methods to accept / generate shape data values as rows , columns , and channels . This change should match other python-image numpy integrations. [ #447 ]
Added adjoin= argument to Image.save() method.
Added reset_coords= argument to Image.trim() method. [ #472 ]
Added support for atexit ’s shutdown routine. [ #248 & #361 ]
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 from setup.py . [ #460 ]
Rewrote memory allocation manager. [ #300 & #312 ]
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.
A few bug fixes & doc improvements.
A few bug fixes & doc improvements.
See changelog for a list of all bug fixes.
The following people have contributed since the Wand 0.5.8 release.
See git log 0.5.8..0.5.9 for a full history.
$ git log --format='%aN' 0.5.8..0.5.9 | sort | uniq -c
12 E. McConville
1 Thijs Triemstra
Released on February 10th, 2020.
Fixed dither parameter in Image.quantize() method for ImageMagick-7.
Added Image.combine() method. [Thanks Fred!]
Check fspath attribute for filename parameter when calling Image.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 with SingleImage class.
A few bug fixes & doc improvements.
A few bug fixes & doc improvements.
See 0.5.8 Milestone for a list of all issues tracked in Github.
See changelog for a list of all bug fixes.
The following people have contributed since the Wand 0.5.7 release.
See git log 0.5.7..0.5.8 for a full history.
1 Alex
41 E. McConville
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.
Few bug fixes, doc improvements, and new methods.
Few bug fixes, doc improvements, and new methods.
See 0.5.7 Milestone for a list of all issues tracked in Github.
See changelog for a list of all methods & features.
The following people have contributed since the Wand 0.5.6 release.
See git log 0.5.6..0.5.7 for a full history.
41 E. McConville
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:
Image.blur()
Image.gaussian_blur()
Image.selective_blur()
Image.spread()
Image.unsharp_mask()
Restored #320 fix. [Reported by #435 ]
Added colorspace & units argument to Image init. This is useful for defining sRGB ahead of reading CMYKA PDF documents.
Few bug fixes, doc improvements, and new methods.
Few bug fixes, doc improvements, and new methods.
See 0.5.6 Milestone for a list of all issues tracked in Github.
See changelog for a list of all methods & features.
The following people have contributed since the Wand 0.5.5 release.
See git log 0.5.5..0.5.6 for a full history.
35 E. McConville
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 in Image.connected_components() method.
This release adds Color Channel support to dozen methods, and introduces some ImageMagick-7 exclusive methods.
This release adds Color Channel support to dozen methods, and introduces some ImageMagick-7 exclusive methods.
See 0.5.5 Milestone for a list of all issues tracked through GitHub.
See changelog for a list of all bug-fixes and features.
The following people have contributed since the Wand 0.5.4 release.
See git log 0.5.4..0.5.5 for a full history.
35 E. McConville
1 Seonguk Kim
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.
Image.adaptive_blur()
Image.adaptive_sharpen()
Image.blur()
Image.brightness_contrast()
Image.clamp()
Image.clut()
Image.equalize()
Image.gaussian_blur()
Image.hald_clut()
Image.noise()
Image.morphology()
Image.opaque_paint()
Image.selective_blur()
Image.sharpen()
Image.sigmoidal_contrast()
Image.solarize()
Image.statistic()
Image.unsharp_mask()
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.
Image.auto_threshold()
Image.canny()
Image.complex()
Image.connected_components()
Image.hough_lines()
Image.kuwahara()
Image.levelize()
Image.mean_shift()
Image.polynomial()
Image.range_threshold()
Image.seed
Image.wavelet_denoise()
Patch release adding a handful of methods, and a few bugfixes.
Patch release adding a handful of methods, and a few bugfixes.
See 0.5.4 Milestone for a list of all issues tracked through GitHub.
See changelog for a list of all bug-fixes and features.
The following people have contributed since the Wand 0.5.3 release.
See git log 0.5.3..0.5.4 for a full history.
41 E. McConville
Released on May 25th, 2019.
Rewrote libc library loader. [ #409 ]
Respect background parameter in Image.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.
Patch release adding a dozen methods, continued IM-7 fixes, and documentation improvements.
Patch release adding a dozen methods, continued IM-7 fixes, and documentation improvements.
See 0.5.3 Milestone for a list of all issues tracked through GitHub.
See changelog for a list of all bug-fixes and features.
The following people have contributed since the Wand 0.5.2 release.
See git log 0.5.2..0.5.3 for a full history.
43 E. McConville
A very special thanks to Fred @ fmwconcepts for helping test this release.
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.
Added Image.from_array class method.
Added Image.colors property.
Added Image.color_map() method.
Added Image.cycle_color_map() method.
Support for highlight & lowlight has been added to Image.compare() method.
Support for PEP-519 for objects implementing fspath , in encode_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() method
Added Image.maxima property.
Added Image.mean property.
Added Image.mean_channel() method
Added Image.minima property.
Added Image.noise() method.
Added Image.range_channel() method
Added 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.
Patch release covering a few bugs & added some additional properties/methods.
Patch release covering a few bugs & added some additional properties/methods.
See 0.5.2 Milestone for a list of all issues tracked through GitHub.
See changelog for a list of all bug-fixes & features.
The following people have contributed since the Wand 0.5.1 release.
See git log 0.5.1..0.5.2 for a full history.
24 E. McConville
2 Stefan Naumann
Released on March 24, 2019.
Import collections.abc explicitly. [ #398 by Stefan Naumann]
Fixed memory leak in HistogramDict . [ #397 ]
Fixed compression & compression quality bug. [ #202 & #278 ]
Image.read() will raise WandRuntimeError if MagickReadImage() returns MagickFalse , 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.
Released on March 24, 2019.
Import collections.abc explicitly. [398 by Stefan Naumann]
Fixed memory leak in ~wand.image.HistogramDict. [397]
Fixed compression & compression quality bug. [202 & 278]
Image.read() will raise ~wand.exceptions.WandRuntimeError if MagickReadImage returns MagickFalse, 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.
Added support for Resource Limits, Image Profiles, and some additional bug fixes.
Added support for Resource Limits, Image Profiles, and some additional bug fixes.
See the 0.5.1 Milestone for a list of all issues covered.
See the changelog for a list of all bug-fixes & features.
The following people have contributed since the Wand 0.5.0 release.
See git log 0.5.0..0.5.1 for a full history.
39 E. McConville
2 Tero Vuotila
1 Kevin Koller
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 from destroy 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 CMYK Color instances.
Color instance can be created from HSL values with from_hsl() class method.
Added Image.compose property for identifying layer visibility.
Added Image.profiles dictionary attribute. [ #249 ]
Moved collections.abc to wand.compat.abc for Python-3.8. [ #394 by Tero Vuotila]
Update wand.display to use Python3 compatible print() function. [ #395 by Tero Vuotila]
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 ~wand.sequence.SingleImage sync behavior from destroy to context __exit__. [388]
Fixed memory leak in ~wand.drawing.Drawing.get_font_metrics. [390]
Added property setters for ~wand.color.Color attributes.
Added ~wand.color.Color.cyan, ~wand.color.Color.magenta, ~wand.color.Color.yellow, & ~wand.color.Color.black properties for CMYK ~wand.color.Color instances.
~wand.color.Color instance can be created from HSL values with ~wand.color.Color.from_hsl() class method.
Added Image.compose property for identifying layer visibility.
Added Image.profiles dictionary attribute. [249]
Moved collections.abc to wand.compat.abc for Python-3.8. [394 by Tero Vuotila]
Update wand.display to use Python3 compatible print() function. [395 by Tero Vuotila]
Wand 0.5.0 adds support for ImageMagick-7 as well as additional methods.
Wand 0.5.0 adds support for ImageMagick-7 as well as additional methods.
See the 0.5.0 Milestone for a list of Issues covered.
See changelog for list of new features.
The following people have contributed since the Wand 0.4.5 release.
See git log 0.4.5..0.5.0 for a full history.
105 E. McConville
1 Guy Sheffer
1 M. Skrzypek
15 orf
2 Utkarsh Upadhyay
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 to BaseImage for a more uniformed code-base.
Image.compression
Image.format
Image.auto_orient()
Image.border()
Image.contrast_stretch()
Image.gamma()
Image.level()
Image.linear_stretch()
Image.normalize()
Image.strip()
Image.transpose()
Image.transverse()
Image.trim()
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 accepts BaseImage for folks extended classes.
Added Image.loop property. [ #227 ]
Fixed SingleImage.delay property. [ #153 ]
Attribute Image.font_antialias has been deprecated in favor of Image.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 ]
Wand's 0.4.5 patch release is small & mostly administrative release. The responsibilities of maintaining the project have shifted (see #378), and the
Wand's 0.4.5 patch release is small & mostly administrative release. The responsibilities of maintaining the project have shifted (see #378), and the users of wand-py would like to thank Hong Minhee (@dahlia) for creating a fantastic library. :tada: :fireworks: :heart: Best of luck for all your future projects!
See full changes @ http://docs.wand-py.org/en/0.4.5/changes.html#version-0-4-5
The following people have contributed since the Wand 0.4.4 release.
See git log 0.4.4..0.4.5 for full history.
2 Chase Anderson
24 E. McConville
1 Guy Sheffer
1 homm
6 Hong Minhee
2 Jae-Myoung Yu
2 Kim Jin Su
2 Mark Hyun-ki Kim
1 rvernica
1 Sanny Kumar
6 ziotibia81
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]
- Added BaseError , BaseWarning , and BaseFatalError , base classes for domains. [ #292 ]
Released on October 22, 2016.
Added BaseError , BaseWarning , and BaseFatalError , 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 using with but manual wand.resource.Resource.destroy() / wand.image.Image.close() method call. [ #237 ]
Released on October 22, 2016.
Added ~wand.exceptions.BaseError, ~wand.exceptions.BaseWarning, and ~wand.exceptions.BaseFatalError, 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 using with but manual wand.resource.Resource.destroy()/wand.image.Image.close() method call. [237]
- Fixed repr() for empty Image objects. [ #265 ]
Released on June 1, 2016.
Fixed repr() for empty Image objects. [ #265 ]
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 import libc.dylib due to El Capitan’s SIP protection. [ #275 by Ramesh Dharan]
- Fixed ImportError on MSYS2. [ #257 by Eon Jeong]
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 to Image constructor. The depth , width and height parameters can be used with the filename , file and blob parameters to load raw pixel data. [ #261 by Roeland Schoukens]
- Added Image.auto_orient() that fixes orientation by checking EXIF tags.
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 in Image.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 ]
Render RGB Color preview.
Display each frame in image Sequence .
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]
See also What’s new in Wand 0.4? This guide introduces what’s new in Wand 0.4.
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 ).
Color & Matte
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 ).
Paths
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 ).
Push & Pop
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 by Image.liquid_rescale() became nicer.
Released on February 20, 2015.
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 (draw-arc).
Added Drawing.bezier() method (draw-bezier).
Added Drawing.circle() method (draw-circle).
draw-color-and-matte
Added wand.drawing.PAINT_METHOD_TYPES constant.
Added Drawing.color() method.
Added Drawing matte() method.
Added Drawing.composite() method (draw-composite).
Added Drawing.ellipse() method (draw-ellipse).
draw-paths
Added ~wand.drawing.Drawing.path_start() method.
Added ~wand.drawing.Drawing.path_finish() method.
Added ~wand.drawing.Drawing.path_close() method.
Added ~wand.drawing.Drawing.path_curve() method.
Added ~wand.drawing.Drawing.path_curve_to_quadratic_bezier() method.
Added ~wand.drawing.Drawing.path_elliptic_arc() method.
Added ~wand.drawing.Drawing.path_horizontal_line() method.
Added ~wand.drawing.Drawing.path_line() method.
Added ~wand.drawing.Drawing.path_move() method.
Added ~wand.drawing.Drawing.path_vertical_line() method.
Added Drawing.point() method (draw-point).
Added Drawing.polygon() method (draw-polygon).
Added Drawing.polyline() method (draw-polyline).
draw-push-pop
Added ~wand.drawing.Drawing.push() method.
Added ~wand.drawing.Drawing.push_clip_path() method.
Added ~wand.drawing.Drawing.push_defs() method.
Added ~wand.drawing.Drawing.push_pattern() method.
Added ~wand.drawing.Drawing.clip_path property.
Added ~wand.drawing.Drawing.set_fill_pattern_url() method.
Added ~wand.drawing.Drawing.set_stroke_pattern_url() method.
Added ~wand.drawing.Drawing.pop() method.
Added Drawing.rectangle() method (draw-rectangles).
Added ~wand.drawing.Drawing.stroke_dash_array property.
Added ~wand.drawing.Drawing.stroke_dash_offset property.
Added ~wand.drawing.Drawing.stroke_line_cap property.
Added ~wand.drawing.Drawing.stroke_line_join property.
Added ~wand.drawing.Drawing.stroke_miter_limit property.
Added ~wand.drawing.Drawing.stroke_opacity property.
Added ~wand.drawing.Drawing.stroke_width property.
Added ~wand.drawing.Drawing.fill_opacity property.
Added ~wand.drawing.Drawing.fill_rule property.
Error message of ~wand.exceptions.MissingDelegateError raised by Image.liquid_rescale() became nicer.
- Added 'pdf:use-cropbox' option to Image.options dictionary (and OPTIONS constant). [ #185 by Christoph Neuroth]
Released on December 20, 2014.
Added 'pdf:use-cropbox' option to Image.options dictionary (and OPTIONS constant). [ #185 by Christoph Neuroth]
Fixed a bug that exception message was bytes instead of str on Python 3.
The size parameter of Font class becomes optional. Its default value is 0, which means autosized . [ #191 by Cha, Hojeong]
Fixed a bug that Image.read() had tried using MagickReadImageFile() even when the given file object has no mode attribute. [ #205 by Stephen J. Fuhry]
- Fixed a bug that transparent background becomes filled with white when SVG is converted to other bitmap image format like PNG. [ #184 ]
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]
- A hotfix of debug prints made at 0.3.6.
Released on March 25, 2014.
A hotfix of debug prints made at 0.3.6.
- Added Drawing.rectangle() method. Now you can draw rectangles. [ #159 ]
Released on March 23, 2014.
Added Drawing.rectangle() method. Now you can draw rectangles. [ #159 ]
Added Image.compression property. [ #171 ]
Added contextlib.nested() function to wand.compat module.
Fixed UnicodeEncodeError when Drawing.text() method gives Unicode text argument in Python 2. [ #163 ]
Now it now allows to use Wand when Python is invoked with the -OO flag. [ #169 by Samuel Maudo]
Released on September 13, 2013.
Released on September 13, 2013.
Fix segmentation fault on Image.save() method. [ #150 ]
- Added Image.modulate() method. [ #134 by Dan P. Smith]
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 to Image.options dictionary (and OPTIONS 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]
Released on August 4, 2013. It’s author’s birthday.
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]
Fixed broken display() on Python 3. [ #126 ]
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 ~wand.color.Color class. [127 by Wieland Morgenstern]
Fixed a bug that Image.save() to stream truncates data. [128 by Michael Allen]
Fixed broken ~wand.display.display() on Python 3. [126]
- Fixed incorrect encoding of filenames. [ #122 ]
Released on July 11, 2013.
Fixed incorrect encoding of filenames. [ #122 ]
Fixed key type of Image.metadata dictionary to str from bytes in Python 3.
Fixed CentOS compatibility [ #116 , #124 by Pierre Vanliefland]
Made DrawSetTextInterlineSpacing() and DrawGetTextInterlineSpacing() optional.
Added exception in drawing API when trying to use DrawSetTextInterlineSpacing() and DrawGetTextInterlineSpacing() functions when they are not available.
Added WandLibraryVersionError class for library versions issues.
- Fixed ImportError on Windows.
Released on June 23, 2013.
Fixed ImportError on Windows.
See also What’s new in Wand 0.3? This guide introduces what’s new in Wand 0.3.
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 to Image.trim() method.
Added Image.border() method. [ 2496d37f75d75e9425f95dde07033217dc8afefc by Jae-Myoung Yu]
Added resolution parameter to Image.read() method and the constructor of Image . [ #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 and Metadata mapping type for it. [ #56 by Michael Elovskikh]
Added Image.channel_images immutable mapping attribute and ChannelImageDict mapping for it.
Added Image.channel_depths immutable mapping attribute and ChannelDepthDict 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 to COMPOSITE_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:
red_quantum
green_quantum
blue_quantum
alpha_quantum
red_int8
green_int8
blue_int8
alpha_int8
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 of wand.exceptions.WandException .
Color is now hashable, so can be used as a key of dictionaries, or an element of sets. [ #114 by klutzy]
Color has normalized_string property.
Image has histogram dictionary.
Added optional fuzz parameter to Image.trim() method. [ #113 by Evaldo Junior]
Released on June 17, 2013.
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 to Image.trim() method.
Added Image.border() method. [2496d37f75d75e9425f95dde07033217dc8afefc by Jae-Myoung Yu]
Added resolution parameter to Image.read() method and the constructor of ~wand.image.Image. [75 by Andrey Antukh]
Added Image.liquid_rescale() method which does seam carving. See also seam-carving.
Added Image.metadata immutable mapping attribute and ~wand.image.Metadata mapping type for it. [56 by Michael Elovskikh]
Added Image.channel_images immutable mapping attribute and ~wand.image.ChannelImageDict mapping for it.
Added Image.channel_depths immutable mapping attribute and ~wand.image.ChannelDepthDict 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 ~wand.image.ImageProperty mixin class to maintain a weak reference to the parent image.
Ranamed wand.image.COMPOSITE_OPS to ~wand.image.COMPOSITE_OPERATORS.
Now it shows helpful error message when ImageMagick library cannot be found.
Added IPython-specialized formatter.
Added ~wand.version.QUANTUM_DEPTH constant.
Added these properties to ~wand.color.Color class:
~wand.color.Color.red_quantum
~wand.color.Color.green_quantum
~wand.color.Color.blue_quantum
~wand.color.Color.alpha_quantum
~wand.color.Color.red_int8
~wand.color.Color.green_int8
~wand.color.Color.blue_int8
~wand.color.Color.alpha_int8
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 of wand.exceptions.WandException.
~wand.color.Color is now hashable, so can be used as a key of dictionaries, or an element of sets. [114 by klutzy]
~wand.color.Color has ~wand.color.Color.normalized_string property.
~wand.image.Image has ~wand.image.BaseImage.histogram dictionary.
Added optional fuzz parameter to Image.trim() method. [113 by Evaldo Junior]
- Fix NameError in Resource.resource setter. [ #89 forwarded from Debian bug report #699064 by Jakub Wilk]
Released on May 28, 2013.
Fix NameError in Resource.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 ]
- Fixed a bug that Image.transparentize() method (and Image.watermark() method which internally uses it) didn’t work.
Released on January 25, 2013.
Fixed a bug that Image.transparentize() method (and Image.watermark() method which internally uses it) didn’t work.
Fixed segmentation fault occurred when Color.red , Color.green , or Color.blue is accessed.
Added Color.alpha property.
Fixed a bug that format converting using Image.format property or Image.convert() method doesn’t correctly work to save blob.
Released on September 24, 2012.
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 take width / height and background . [ #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]
Released on August 19, 2012. Beta version.
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 optional format hint. [ #32 by Michael Elovskikh]
Added Image.alpha_channel property. [ #35 by Piotr Florczyk]
The default value of Image.resize() ’s filter 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() )
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 ~wand.image.Image can take an optional format hint. [32 by Michael Elovskikh]
Added Image.alpha_channel property. [35 by Piotr Florczyk]
The default value of Image.resize()'s filter option has changed from 'triangle' to 'undefined'. [37 by Piotr Florczyk]
Added version data of the linked ImageMagick library into wand.version module:
~wand.version.MAGICK_VERSION (GetMagickVersion)
~wand.version.MAGICK_VERSION_INFO (GetMagickVersion)
~wand.version.MAGICK_VERSION_NUMBER (GetMagickVersion)
~wand.version.MAGICK_RELEASE_DATE (GetMagickReleaseDate)
~wand.version.MAGICK_RELEASE_DATE_STRING (GetMagickReleaseDate)
Released on June 20, 2012. Alpha version.
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 and reset_coords option to Image.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 .
Released on May 8, 2012. Still alpha version.
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 of AttributeError 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]
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 ~exceptions.AttributeError when it's trying to warn. [16 by Tim Dettrick]
Now it throws ~exceptions.ImportError instead of ~exceptions.AttributeError 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]
Released on December 23, 2011. Still alpha version.
Released on December 23, 2011. Still alpha version.
Now wand.version.VERSION_INFO becomes tuple and wand.version.VERSION becomes a string.
Added Image.background_color property.
Added == operator for Image type.
Added hash() support of Image type.
Added Image.signature property.
Added wand.display module.
Changed the theme of Sphinx documentation.
Changed the start example of the documentation.
Released on December 23, 2011. Still alpha version.
Now wand.version.VERSION_INFO becomes tuple and wand.version.VERSION becomes a string.
Added Image.background_color property.
Added == operator for ~wand.image.Image type.
Added hash() support of ~wand.image.Image type.
Added Image.signature property.
Added wand.display module.
Changed the theme of Sphinx documentation.
Changed the start example of the documentation.
Released on December 2, 2011. Still alpha version.
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 proper ValueError instead of IndexError for invalid width/height arguments.
Changed the type of Image.resize() method’s blur parameter from numbers.Rational to numbers.Real .
Fixed a bug of raising ValueError when invalid filter has passed to Image.resize() method.
Released on December 2, 2011. Still alpha version.
Wrote some guide documentations: guide/read, guide/write and guide/resizecrop.
Added Image.rotate() method for in-place rotation.
Made Image.crop() to raise proper ValueError instead of IndexError for invalid width/height arguments.
Changed the type of Image.resize() method's blur parameter from numbers.Rational to numbers.Real.
Fixed a bug of raising ~exceptions.ValueError when invalid filter has passed to Image.resize() method.
Released on November 10, 2011. Still alpha version.
Released on November 10, 2011. Still alpha version.
Added Image.mimetype property.
Added Image.crop() method for in-place crop.
Released on October 31, 2011. Still alpha version.
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 for Color type.
Released on October 28, 2011. Slightly mature alpha version.
Released on October 28, 2011. Slightly mature alpha version.
Now Image can read Python file objects by file keyword argument.
Now Image.save() method can write into Python file objects by file keyword argument.
Image.make_blob() ’s format argument becomes omittable.
Released on October 28, 2011. Slightly mature alpha version.
Now ~wand.image.Image can read Python file objects by file keyword argument.
Now Image.save() method can write into Python file objects by file keyword argument.
Image.make_blob()'s format argument becomes omittable.
Released on October 27, 2011. Hotfix of the malformed Python package.
Released on October 27, 2011. Hotfix of the malformed Python package.
Released on October 27, 2011. Slightly mature alpha version.
Released on October 27, 2011. Slightly mature alpha version.
Pixel getter for Image .
Row getter for Image .
Mac compatibility.
Windows compatibility.
64-bit processor compatibility.
Released on October 27, 2011. Slightly mature alpha version.
Pixel getter for ~wand.image.Image.
Row getter for ~wand.image.Image.
Mac compatibility.
Windows compatibility.
64-bit processor compatibility.
Released on October 16, 2011. Still alpha version.
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.
Released on October 16, 2011. Still alpha version.
~wand.image.Image implements iterable interface.
Added wand.color module.
Added the abstract base class of all Wand resource objects: wand.resource.Resource.
~wand.image.Image implements slicing.
Cropping ~wand.image.Image using its slicing operator.
Released on October 4, 2011. Still alpha version.
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 into Image constructor.
Added Image.resize() method.
Added Image.save() method.
Added Image.clone() method.
Drew the pretty logo picture (thanks to Hyojin Choi ).
Released on October 1, 2011. Very alpha version.
Released on October 1, 2011. Very alpha version.
Your coding agent can read these notes before it upgrades. Set up the MCP server →