forked from openkylin/imagemagick
384 lines
15 KiB
Plaintext
384 lines
15 KiB
Plaintext
|
This file records noteworthy changes in Magick++.
|
||
|
|
||
|
(5.5.2)
|
||
|
* Added adaptiveThreshold() method.
|
||
|
* Added colorMapSize() method.
|
||
|
* Added DrawablePushClipPath, DrawablePopClipPath, and DrawableClipPath.
|
||
|
|
||
|
(5.5.1)
|
||
|
* Fixed a Color memory allocation problem which became evident when
|
||
|
using the Magick++ DLL.
|
||
|
* Completed implementation of Image textEncoding() method. Oops!
|
||
|
|
||
|
(5.4.9)
|
||
|
* Added the Image textEncoding() method and an encoding option to
|
||
|
DrawableText to support specifying "UTF-8" (Unicode) text encoding.
|
||
|
* Added the Image compare() method to support comparing two similar
|
||
|
images and obtaining error values.
|
||
|
* Magick++ compiles as a DLL under Visual C++ 7.0.
|
||
|
|
||
|
(5.4.8)
|
||
|
* The image type() method now also specifies the output image type
|
||
|
to use while writing.
|
||
|
* Added a profile() method to Image to support adding, removing,
|
||
|
and retrieving named embedded application profiles.
|
||
|
* Magick++ compiles as a DLL under Visual C++ 6.0.
|
||
|
|
||
|
(5.4.7)
|
||
|
* No changes to report.
|
||
|
|
||
|
(5.4.6)
|
||
|
* Magick++ library no longer depends on C++ iostreams APIs.
|
||
|
* Added DrawableTextUnderColor class to set text underbox color.
|
||
|
|
||
|
(5.4.5)
|
||
|
* Drawable classes have been re-written to use ImageMagick's draw.h
|
||
|
APIs.
|
||
|
* Fixed a nasty bug when reporting some forms of errors. The bug
|
||
|
was causing an exception in error.c.
|
||
|
* Template API implementation cleanup.
|
||
|
* Rationalized some parameter types.
|
||
|
* New method, Pixels::getConst() to obtain read-only pixels.
|
||
|
* DrawableDashArray() prefers an array of type 'double' rather than
|
||
|
'unsigned int'. Please use the new form.
|
||
|
* Composite images are output as embedded inlined Base64 when
|
||
|
preparing MVG data.
|
||
|
* Blob class supports encoding and decoding Base64 data.
|
||
|
* New method, Image::ping to ping a Blob.
|
||
|
|
||
|
(5.4.4)
|
||
|
* Fixed a bug in DrawableDashArray.
|
||
|
* Numerous consistency improvements based on findings from Gimpel lint.
|
||
|
* Added endian method to Image, and endianImage class to STL.h in
|
||
|
order to support setting endian option for formats which support
|
||
|
the notion (e.g. TIFF).
|
||
|
* DrawableCompositeImage was not working. Now it does.
|
||
|
|
||
|
(5.4.3)
|
||
|
* Support selecting fonts via font-family, font-style, font-weight,
|
||
|
and font-stretch via the DrawableFont class.
|
||
|
* CoderInfo API change. MatchType is scoped to CoderInfo class.
|
||
|
* Bugfix for Magick::Exception memory leak.
|
||
|
* Bugfix for DrawableGravity class (had stopped working).
|
||
|
* Bugfix for Image antiAlias() method (wasn't working).
|
||
|
* Reimplemented image registration code (which passes image via
|
||
|
DrawableCompositeImage).
|
||
|
|
||
|
(5.4.2)
|
||
|
* TypeMetric class revamped to match current ImageMagick type metrics
|
||
|
definition.
|
||
|
* Fixed possible stack corruption on some architectures when returning
|
||
|
Color as a string.
|
||
|
* DrawableCompositeImage can be constructed based on an Image in memory
|
||
|
rather than just a filename.
|
||
|
* Added Drawable objects (DrawablePushPattern & DrawablePopPattern)
|
||
|
for definining arbitrary named patterns to be used for stroke and fill.
|
||
|
* Added Image strokePattern() and fillPattern() methods for specifying
|
||
|
image to use while drawing stroked object outlines and while filling
|
||
|
objects, respectively.
|
||
|
|
||
|
(5.4.1)
|
||
|
* Fixed memory leak in Image::draw().
|
||
|
|
||
|
* Automagically cleans up ImageMagick allocations prior to process
|
||
|
exit to avoid annoying memory leak tools.
|
||
|
|
||
|
(5.4.0)
|
||
|
* Fixed bug when scaling from Quantum to double in derived Color classes.
|
||
|
|
||
|
* Pass all input parameter strings as 'const std::string &' in Color class.
|
||
|
|
||
|
* Added support for obtaining pixel indexes.
|
||
|
|
||
|
* Implemented support for read-only pixels and pixel indexes.
|
||
|
|
||
|
* Added Image boundingBox() method to return smallest bounding box
|
||
|
enclosing non-border pixels.
|
||
|
|
||
|
(5.3.9)
|
||
|
* New class, CoderInfo, to return information for a specified image
|
||
|
format as well as the coderInfoList() template function to return
|
||
|
the list of coders which match a specification.
|
||
|
|
||
|
* User now may tell Blob updateNoCopy() what memory system (C or C++)
|
||
|
the memory was allocated from. Used to assume the C++ allocator.
|
||
|
This resolves a bug on some platforms (e.g. Windows).
|
||
|
|
||
|
* Added Image 'opacity' method (and STL opacityImage()) to set, or
|
||
|
attenuate, image opacity.
|
||
|
|
||
|
* Added Image 'type' method (and STL typeImage()) to set image
|
||
|
representation type.
|
||
|
|
||
|
* Image depth method now adjusts pixels to match specified image depth,
|
||
|
and reports depth based on current image pixels.
|
||
|
|
||
|
(5.3.8)
|
||
|
* New class 'TypeMetric' to contain font type metrics.
|
||
|
|
||
|
* New Image method 'fontTypeMetrics()' to obtain font type metrics.
|
||
|
|
||
|
* Image colorMap method automatically extends the colormap if index
|
||
|
is past the end of the current colormap.
|
||
|
|
||
|
* Added clipMask method to add a clip mask to the current
|
||
|
image. Prevents modification to image pixels wherever the
|
||
|
associated clip mask image is tranparent.
|
||
|
|
||
|
* Documented methods which were added previously, but left
|
||
|
undocumented.
|
||
|
|
||
|
(5.3.7)
|
||
|
* No changes.
|
||
|
|
||
|
(5.3.6)
|
||
|
* Adjusted parameters to 'edge' and 'medianFilter' to match
|
||
|
equivalent libMagick functions.
|
||
|
* Fixed a Montage bug which was not allowing color options to be unset.
|
||
|
* Montage defaults are no longer taken from first Image in list.
|
||
|
* Magick++ demo output looks like PerlMagick demo output again.
|
||
|
|
||
|
(5.3.5)
|
||
|
* Default radius and sigma parameters were changed on the blur,
|
||
|
charcoal, emboss, and sharpen methods to match ImageMagick defaults.
|
||
|
* Fixes to Magick++ demos to restore appearance.
|
||
|
* Added shave method for shaving edges from image (a form of crop).
|
||
|
|
||
|
(5.3.1-5.3.4)
|
||
|
* No changes.
|
||
|
|
||
|
(5.3.0)
|
||
|
* Released with ImageMagick 5.3.0
|
||
|
* Bug fix. Under certain conditions, several annotation options
|
||
|
were being reset.
|
||
|
|
||
|
(5.2.9)
|
||
|
* Released with ImageMagick 5.2.9
|
||
|
* Added fillRule method to Image class.
|
||
|
|
||
|
(5.2.8)
|
||
|
* Released with ImageMagick 5.2.8
|
||
|
* Added 'fill' and 'stroke' methods to Montage class.
|
||
|
* Added 'erase' and 'strokeAntiAlias' methods to Image class.
|
||
|
* Renamed Image class 'layer' method to 'channel'.
|
||
|
* Support supplying composition rule to DrawableCompositeImage.
|
||
|
|
||
|
(5.2.7)
|
||
|
* Released with ImageMagick 5.2.7
|
||
|
* Added convolve and unsharpmask methods to Image.
|
||
|
* Added deconstructImages and mosaicImages template functions.
|
||
|
* Fixed handling of geometry parameter to annotate method.
|
||
|
|
||
|
(5.2.6)
|
||
|
* Released with ImageMagick 5.2.6.
|
||
|
* Added support for a SVG-style dash array and dash offset
|
||
|
parameters (for drawing dashed lines).
|
||
|
* Added support for setting the shape to be used at the end of open
|
||
|
subpaths when they are stroked.
|
||
|
* Added support for setting the shape to be used at the corners of
|
||
|
paths (or other vector shapes) when they are stroked.
|
||
|
* Added support for setting extension limit for miter joins.
|
||
|
* Rotate text the proper way using an affine transform.
|
||
|
|
||
|
(5.2.5)
|
||
|
* Released with ImageMagick 5.2.5.
|
||
|
* Completely re-wrote drawable object classes in order to support
|
||
|
all current ImageMagick drawing capabilities using a list-based paradigm.
|
||
|
New drawing capabilities include coordinate transformations and the
|
||
|
currently undocumented (but quite powerful) path capabilities.
|
||
|
|
||
|
(5.2.4)
|
||
|
* Released with ImageMagick 5.2.4.
|
||
|
* Magick++ is now built by the regular ImageMagick build process.
|
||
|
when --with-magick_plus_plus is specified to configure.
|
||
|
* Fixed bug with setting text drawing options.
|
||
|
* Fixed API bug with colorize. Options adjusted to match ImageMagick
|
||
|
API change (API change was long ago).
|
||
|
* Library compiles using Sun Workshop 5.0 compiler. Linkage problems with
|
||
|
some demos/tests due to libtool-related compiler/linker bug.
|
||
|
* Compiles using Sun Forte 6.0 compiler.
|
||
|
|
||
|
(5.2.3)
|
||
|
* Switched to new release numbering (match ImageMagick release number)
|
||
|
* Released with ImageMagick 5.2.3.
|
||
|
* Fixed bug in which the Image read method was not reporting
|
||
|
warnings (only errors).
|
||
|
* Parameter changes to blur, charcoal, emboss, and sharpen methods
|
||
|
of the Image class to match equivalent ImageMagick API changes.
|
||
|
* Parameter changes to blurImage, charcoalImage, embossImage, and
|
||
|
sharpenImage STL functions in order to match equivalent ImageMagick
|
||
|
API changes.
|
||
|
|
||
|
(0.9.5)
|
||
|
* Released with ImageMagick 5.2.2.
|
||
|
|
||
|
(0.9.4)
|
||
|
* Released with ImageMagick 5.2.1.
|
||
|
* Bugfix to the Pixels GetIndexes() method.
|
||
|
* Adapted to ImageMagick 5.2.1's revised matte channel interpretation.
|
||
|
|
||
|
(0.9.3)
|
||
|
* Released with ImageMagick 5.2
|
||
|
* New class 'Pixels' to support low-level pixel access in image. New
|
||
|
API supports multiple pixel views into the same image. Number of
|
||
|
available pixel views limited to the number of image rows + 1.
|
||
|
* Dramatically improved performance for text annotation and drawing.
|
||
|
* Fix text annotation bug which did not allow spaces in annotation text.
|
||
|
* Added gaussianBlurImage() method.
|
||
|
* Fixed bug in floodFillTexture().
|
||
|
* Re-worked error reporting methodology to use re-entrant error
|
||
|
reporting rather than the previous method (based on call-backs)
|
||
|
which required thread specific data.
|
||
|
* Should be thread-safe under Win32 now.
|
||
|
|
||
|
(0.9.2)
|
||
|
* Released with ImageMagick 5.1.1
|
||
|
* Should be thread-safe when used with POSIX threads (pthreads).
|
||
|
* Added methods getPixels, setPixels, syncPixels, readPixels, and
|
||
|
writePixels, in order to provide low-level access to Image pixels.
|
||
|
* Bugfix: size method was setting Options size, but not Image rows
|
||
|
and columns.
|
||
|
|
||
|
(0.9.1)
|
||
|
* Released with ImageMagick 5.1.0
|
||
|
* Added additional constructors, read, and write methods for BLOBs
|
||
|
to make BLOBs easier to use.
|
||
|
* Added the medianFilter() method to Image.
|
||
|
* Renamed transformColorSpace() to colorSpace() and added a
|
||
|
colorSpace() accessor method.
|
||
|
* Renamed psPageSize() to page(), which now properly returns the
|
||
|
actual attribute from the image, rather than the image options.
|
||
|
This is important in order to manipulate GIF animations.
|
||
|
* Bug fixes.
|
||
|
|
||
|
(0.9)
|
||
|
* Ported to ImageMagick 5.0.
|
||
|
* BLOB sizes are now specified using size_t type.
|
||
|
* Rotate() no longer accepts sharpen or crop options.
|
||
|
* Shear() No longer accepts a crop option.
|
||
|
* FontPointsize() now takes a double.
|
||
|
* The condense, uncondense, and condensed methods have been removed
|
||
|
since ImageMagick 5.0 no longer uses run-length encoding.
|
||
|
* The quantizeError method has been removed since it never worked.
|
||
|
* The cacheThreshold method is added to set the threshold of
|
||
|
ImageMagick's image cache.
|
||
|
|
||
|
(0.8.9)
|
||
|
* Released with ImageMagick 4.2.9
|
||
|
* Blob reference counting was totally broken, leading to a memory
|
||
|
leak if it was used. Fixed by starting reference count from one
|
||
|
rather than zero.
|
||
|
|
||
|
(0.8.8)
|
||
|
* Fixed a Image constructor bug when constructing from a Blob
|
||
|
|
||
|
(0.8.7)
|
||
|
* Bugfix: condensed() was returning wrong state.
|
||
|
|
||
|
(0.8.6)
|
||
|
* Color is now based on ImageMagick's RunlengthPacket structure (via a
|
||
|
pointer) so that it may eventually be used to represent an image
|
||
|
pixel. This is currently a work in progress.
|
||
|
|
||
|
(0.8.5)
|
||
|
* Headers are now installed under prefix/include/Magick++ on Unix
|
||
|
systems with the exception that Magick++.h is installed under
|
||
|
prefix/include as it was before. Programs which include Magick++.h
|
||
|
(the documented approach) should not be impacted.
|
||
|
* Image constructors to construct an image from a BLOB.
|
||
|
* Image read and write methods to decode and encode images stored in a
|
||
|
BLOB. This allows reading/writing image "files" from/to memory rather
|
||
|
than a traditional file.
|
||
|
|
||
|
(0.8.4)
|
||
|
* New mapImages algorithm maps a sequence of images to the colormap of
|
||
|
a provided image.
|
||
|
* New quantizeImages algorithm computes and applies a common colormap
|
||
|
to a sequence of images.
|
||
|
|
||
|
(0.8.3)
|
||
|
* Ported to ImageMagick 4.2.6.
|
||
|
* Blob supports default constructor.
|
||
|
* New Blob method updateNoCopy() to support efficient initialization by
|
||
|
derived class.
|
||
|
|
||
|
(0.8.2)
|
||
|
* Uses libtool 1.3 to build library under Unix and Cygwin (static lib only).
|
||
|
* Added Blob class to support supplying formatted binary data to methods.
|
||
|
* Added support for setting ICC and IPTC profiles from a binary BLOB.
|
||
|
* Added support for transformations of image data to/from alternate
|
||
|
colorspace (e.g. CYMK).
|
||
|
* Added support for 'pinging' an image (get image dimensions/size quickly).
|
||
|
* Added 'uncondense' method to de-compress in-memory image data.
|
||
|
* Added support for annotation using rotated text.
|
||
|
|
||
|
(0.8.1)
|
||
|
* Added support for setting alpha in Magick::Color
|
||
|
* Set/get color alpha in Magick::Image::pixelColor() for DirectClass images.
|
||
|
|
||
|
(0.8)
|
||
|
* Transitioned to Beta
|
||
|
* Improved Microsoft Visual C++ build environment.
|
||
|
|
||
|
(0.7.4)
|
||
|
* Added animateImages() and displayImages() to MagickSTL.h.
|
||
|
* Added function objects to support setting image attributes.
|
||
|
|
||
|
(0.7.3)
|
||
|
* Image::penTexture() now takes Image reference rather than
|
||
|
Image pointer. Set Image to invalid using isValid(false)
|
||
|
to unset texture.
|
||
|
* Attribute methods that take Color, Geometry, Image, or string
|
||
|
arguments may now unset the attribute by setting the state of
|
||
|
the object to invalid using isValid(false), or the empty string
|
||
|
(in the case of string). This allows full control over ImageMagick
|
||
|
attributes which are stored as C strings which may be set to NULL.
|
||
|
* Updated for ImageMagick 4.2.1
|
||
|
|
||
|
(0.7.2)
|
||
|
* Added STL function object support for all Image manipulation
|
||
|
methods to support operating on all or part of the images
|
||
|
stored in an STL container.
|
||
|
|
||
|
(0.7.1)
|
||
|
* Added Coordinate class and methods in Drawable to support x,y
|
||
|
coordinates.
|
||
|
* Changed coordinate parameters from unsigned int to double in Drawable.
|
||
|
* Changed polygon methods in Drawable to use STL list argument.
|
||
|
* Added STL list based draw method to Image.
|
||
|
* Changed Exception heirarchy to support Warning and Error sub-classes.
|
||
|
Most exception class names have changed.
|
||
|
|
||
|
(0.7)
|
||
|
* Updated for ImageMagick 4.2.0
|
||
|
* Added support for flood-filling and drawing with texture.
|
||
|
* Montage supported.
|
||
|
* Oodles of bugs fixed.
|
||
|
* Implemented image attribute tests.
|
||
|
* Implemented PerlMagick 'demo' and 'shapes' demo programs in Magick++.
|
||
|
* Some parameters re-ordered due to experience from writing demo programs.
|
||
|
|
||
|
(0.6)
|
||
|
* Initial support for integrating image-list oriented operations with
|
||
|
STL containers.
|
||
|
|
||
|
(0.5)
|
||
|
* Compiles and runs under Unix using egcs release 1.1 or later.
|
||
|
* Compiles and runs under Windows using Visual C++ 5.X or later.
|
||
|
* Users of Magick++ API are not exposed to ImageMagick headers.
|
||
|
* Magick++ API is namespaced under "Magick".
|
||
|
* "Magick" prefix removed from object names.
|
||
|
* User options are now completely contained within Image object.
|
||
|
There is no longer a MagickOptions parameter to some methods.
|
||
|
|
||
|
(0.1)
|
||
|
* All ImageMagick operations which operate on individual images are
|
||
|
supported.
|
||
|
* Image objects have value semantics, avoid unnecessary image
|
||
|
copies through the use of reference counting, and may be compared
|
||
|
via standard operators.
|
||
|
* Geometry, color, annotations, and user-options are supported by
|
||
|
separate classes.
|
||
|
* Errors are reported synchronously via C++ exceptions.
|
||
|
|