12012-03-15 7.0.0-0 Anthony <anthony@griffith...> 2 * Fix the MagickWand add/read insertion of new images into wands 3 42012-02-26 7.0.0-0 Anthony <anthony@griffith...> 5 * A super-struct MagickCLI which includes a MagicWand is used to add the 6 extra requirements needed for Command Land and Script handling of CLI 7 options. This structure allows CLI options to use either MagickWand or 8 MagickCore API's to implement the CLI options. 9 * Adding stacking options to "magick" 10 112012-02-12 7.0.0-0 Anthony <anthony@griffith...> 12 * new module "magick-cli" providing base for new "magick" command 13 142011-10-04 7.0.0-0 Anthony <anthony@griffith...> 15 * Rename wand iteration flags to more logical names 16 172011-09-21 7.0.0-0 Anthony <anthony@griffith...> 18 * new module "operator.c" which will holds the standard CLI options 19 202010-11-21 6.6.6-0 Cristy <quetzlzacatenango@image...> 21 * Add DrawGetFontResolution() / DrawSetFontResolution(). 22 232009-10-10 6.5.6-10 Cristy <quetzlzacatenango@image...> 24 * Add MagickSetImageArtifact(), etc. Wand artifacts are like properties 25 except they are not exported. They are needed for some method such 26 as setting compose:args for the composite DisplaceCompositeOp compose 27 operator. 28 292009-08-27 6.5.5-3 Cristy <quetzlzacatenango@image...> 30 * Added MagickSetOpacity/MagickGetOpacity. 31 322009-07-27 6.5.4-7 Cristy <quetzlzacatenango@image...> 33 * Added MagickSetBorderColor/MagickGetBorderColor. 34 352009-04-27 6.5.1-9 Cristy <quetzlzacatenango@image...> 36 * Added MagickSetImageFuzz/MagickGetImageFuzz. 37 382009-03-08 6.4.9-10 Mikko <mkoppanen@php...> 39 * Added DrawGet/SetTextKerning and DrawGet/SetInterWordSpacing. 40 412008-11-27 6.4.6-7 Cristy <quetzlzacatenango@image...> 42 * MagickSetVirtualPixelMethod() now properly sets and returns the 43 virtual pixel method. 44 452008-11-03 6.4.5-4 Cristy <quetzlzacatenango@image...> 46 * Do not filter drawing commands. 47 482008-10-27 6.4.5-1 Cristy <quetzlzacatenango@image...> 49 * Add MagickSparseColorImage() API method. 50 512008-02-23 6.3.9-0 Cristy <quetzlzacatenango@image...> 52 * Patch MagickReadImageBlob() to support Postscript which does not have 53 native blob support. 54 552008-01-28 6.3.8-3 Cristy <quetzlzacatenango@image...> 56 * Return wand->images->depth for MagickGetImageDepth(); 57 582008-01-10 6.3.7-10 Cristy <quetzlzacatenango@image...> 59 * Inherit image exception *before* destroying the cloned image (reference 60 http://imagemagick.org/discourse-server/viewtopic.php?f=3&t=10415). 61 622007-11-27 6.3.7-2 Cristy <quetzlzacatenango@image...> 63 * Fix memory leak in MagickSetImageProfile() (reference 64 https://imagemagick.org/discourse-server/viewtopic.php?f=1&t=10197). 65 662007-11-06 6.3.6-10 Cristy <quetzlzacatenango@image...> 67 * New MagickSetImageAlphaChannel() method to activate, deactivate, reset, or 68 set the image alpha channel. 69 702007-10-27 6.3.6-4 Cristy <quetzlzacatenango@image...> 71 * Added get/set font and pointsize methods to magick-property.c (reference 72 http://imagemagick.org/discourse-server/viewtopic.php?f=6&t=9997). 73 742007-09-10 6.3.5-9 Cristy <quetzlzacatenango@image...> 75 * Added MagickGetImageProperties(), MagickGetImageOptions(), and 76 MagickGetImageProfiles() methods. 77 782007-07-18 6.3.5-3 Cristy <quetzlzacatenango@image...> 79 * Clone profile before returning from MagickRemoveImageProfile(). 80 812007-07-16 6.3.5-2 Cristy <quetzlzacatenango@image...> 82 * Add MagickGetType() method. 83 * Fix MagickAddImage() relative to the iterator offset (reference 84 http://imagemagick.org/discourse-server/viewtopic.php?f=3&t=9218). 85 862007-05-23 6.3.4-5 Cristy <quetzlzacatenango@image...> 87 * * Add MagickPaintFloodfillImage() method. 88 892007-04-18 6.3.3-9 Kwon <xogusgalaxy@nate....> 90 * Fixed small memory leak in RelinquishWandId(). 91 922007-02-24 6.3.3-0 Cristy <quetzlzacatenango@image...> 93 * Add MagickResetImagePage() to reset the image page canvas and position. 94 952007-01-16 6.3.2-0 Cristy <stentz@image...> 96 * Added methods MagickGetAntialias(), MagickSetAntialias(), 97 MagickGetInterpolateMethod(), and MagickSetInterpolateMethod(). 98 992007-01-08 6.3.1-7 Cristy <stentz@image...> 100 * MagickOrtderedPosterizeImage() performs an ordered dither based on a number 101 of pre-defined dithering threshold maps, but over multiple intensity levels, 102 which can be different for different channels, according to the input 103 arguments. 104 * Added MagickSetImageClipMask(), MagickGetImageClipMask() methods. 105 * Add MagickSetImageProperty()/MagickGetImageProperty() and deprecate 106 MagickSetImageAttribute()/MagickGetImageAttribute(). 107 1082006-10-12 6.3.0-1 Cristy <stentz@image...> 109 * MagickSetImageColormapColor() now properly sync the image colormap. 110 * Add MagickGetImageInterpolateMethod() and MagickSetImageInterpolateMethod(). 111 1122006-06-26 6.2.8-6 Cristy <stentz@image...> 113 * DrawSetFillRule() no longer emits an improper MVG command. 114 1152006-06-26 6.2.8-0 Cristy <stentz@image...> 116 * Fixed small memory leak in ClearDrawingWand(). 117 1182006-05-10 6.2.7-6 Cristy <stentz@image...> 119 * Add MagickSegmentImage() method to API. 120 1212005-12-31 Cristy <stentz@image...> 122 * Opacity value not being returned by PixelGetColorAsString() / 123 PixelGetColorAsNormalizedString() correctly (bug report by O. Watson). 124 1252005-12-28 Cristy <stentz@image...> 126 * DrawSetGravity() actually sets the gravity when ForgetGravity is 127 specified (bug report by O. Watson). 128 * Added MagickSetIteratorIndex() and MagickGetIteratorIndex() and 129 deprecated MagickSetImageIndex() and MagickGetImageIndex(). 130 1312005-12-21 Cristy <stentz@image...> 132 * PixelSyncIterator() promotes PseudoClass images to DirectClass (bug 133 report by O. Watson). 134 * Fix PixelGetIteratorRow() to return the correct image row. 135 1362005-12-11 Cristy <stentz@image...> 137 * Add PixelGetIteratorRow() and PixelGetCurrentIteratorRow() methods 138 (suggested by O. Watson). 139 * Add PixelGetColorAsNormalizedString() method (suggested by O. Watson). 140 1412005-11-14 Cristy <stentz@image...> 142 * Add MagickSigmoidalContrastImage() method. 143 * Set the pixel depth in MagickSetPixelColor(). 144 1452005-10-28 Cristy <stentz@image...> 146 * Add MagickRandomThresholdImage(), MagickRandomThresholdImageChannel(), 147 and MagickShadeImage() (suggested by O. Watson). 148 1492005-10-18 Cristy <stentz@image...> 150 * PixelGetQuantumColor() automatically converts CMYK pixel wands to RGB. 151 * Add DrawResetVectorGraphics() method to reset the vector graphics but not 152 the drawing attributes. 153 1542005-09-20 Cristy <yarrow@image...> 155 * Do not inherit base opacity when setting fill/stroke color. 156 1572005-09-10 Cristy <yarrow@image...> 158 * Added MagickGetImageTicksPerSecond() and MagickSetImageTicksPerSecond(). 159 * Added MagickGetMagickResource(). 160 * Added MagickThumbnaiImage(). 161 1622005-09-01 Cristy <yarrow@image...> 163 * DrawSetStrokeDashArray() no longer faults for an array of one element 164 (bug report by O. Watson). 165 1662005-08-24 Cristy <yarrow@image...> 167 * Add MagickWandGenesis() and MagickWandTermnus() methods. 168 1692005-08-06 Cristy <yarrow@image...> 170 * Add MagickSetImageExtent() method. 171 * Add MagickSetType() method. 172 1732005-06-15 Cristy <yarrow@image...> 174 * Add MagickClearException() to wand/magick-wand.h. 175 1762005-06-15 Cristy <yarrow@image...> 177 * DrawGetFillOpacity() and DrawSetFillOpacity() were setting alpha values 178 rather than opacity. Note, both of these methods are deprecated. 179 * Added MagickSetImageProgressMonitor() to monitor the progress of a specific 180 image. 181 1822005-06-07 Cristy <yarrow@image...> 183 * Initialize pixel iterator ID in NewPixelRegionIterator (bug report by 184 O. Watson). 185 * Add MagickGetImagePixelColor() method (suggested by O. Watson). 186 1872005-06-01 Cristy <yarrow@image...> 188 * Added methods PixelSetFirstIteratorRow(), PixelSetLastIteratorRow(), 189 and IsPixelWandSimilar(). 190 1912005-05-28 Cristy <yarrow@image...> 192 * MagickGetImageTotalInkDensity() returns the total ink density for an image. 193 1942005-05-16 Cristy <yarrow@image...> 195 * Add MagickSetPage() and MagickSetImagePage() methods. 196 1972005-05-10 Cristy <yarrow@image...> 198 * CloneDrawingWand() no longer faults when the supplied drawing wand has not 199 been initialized. 200 2012005-05-08 Cristy <yarrow@image...> 202 * MagickGetImageCompressionQuality() properly returns the image compression 203 quality. Previously it returned the wand compression quality. 204 2052005-04-29 Cristy <yarrow@image...> 206 * PixelSetYellowQuantum() now sets the correct color component. 207 * Add MagickSetBackgroundColor() method to set the wand's background color 208 attribute. 209 2102005-04-14 Cristy <yarrow@image...> 211 * Inherit exception when MagickWriteImageFile() fails. 212 2132005-04-11 Cristy <yarrow@image...> 214 * Added MagickRegionOfInterestImage() to return a region of an image as a 215 new wand. 216 2172005-04-10 Cristy <yarrow@image...> 218 * Throw exception if fdopen() fails in 219 MagickWriteImageFile()/MagickReadImageFile() methods. 220 2212005-03-22 Cristy <yarrow@image...> 222 * Added MagickSigmoidalContrastImage() for sigmoidal non-linearity contrast 223 control. 224 2252005-03-10 Chris Madison <madisonblu@hotma...> 226 * Added the MagickSepiaToneImage() method to simulate a sepia-toned photo. 227 2282004-03-05 Chris Madison <madisonblu@hotma...> 229 * Add MagickGetImageAttribute() method. 230 2312005-02-15 Peter Seiderer <ps.report@gmx.n...> 232 * Avoid an assert by checking the return from GetImageFromMagickWand(0. 233 2342005-01-19 Cristy <yarrow@image...> 235 * Permit NULL for MagickSetFilename() & MagickSetImageFilename(). 236 2372005-01-10 Cristy <yarrow@image...> 238 * Permit NULL for MagickSetFormat() & MagickSetImageFormat(). 239 2402004-12-15 Cristy <yarrow@image...> 241 * Added ClearMagickWand(), ClearPixelIterator(), ClearPixelWand() and 242 ClearDrawingWand() methods. 243 2442004-12-10 Cristy <yarrow@image...> 245 * Set the vector graphics length in DrawSetVectorGraphics() (bug report from 246 O. Watson). 247 2482004-12-09 Cristy <yarrow@image...> 249 * Classic off-by-one patch for CloneDrawingWand() (bug report from O. Watson). 250 2512004-12-08 Cristy <yarrow@image...> 252 * DrawGetStrokeOpacity() just calls DrawGetStrokeAlpha(); it is supposed to 253 return the stroke color's opacity, not the alpha (problem reports from O. 254 Watson). 255 2562004-12-07 Cristy <yarrow@image...> 257 * Fixed problem reports from O. Watson: 258 1) If the format of an image is not set, the BLOB returned by 259 MagickGetImageBlob() will be empty, but no MagickWand error condition 260 is ever set. 261 2) If the MagickWand's image sequence's format if set (via 262 MagickSetFormat()), but the image formats of individual images are not 263 set, any attempt to retrieve the sequence's image BLOB still fails 264 (i.e. via MagickGetImagesBlob()). If the MagickWand's image format 265 has been set, the API should use that format as the exclusive format 266 for the returned BLOB. 267 3) When the situation in #2 above occurs, no error condition is 268 set. If the problem mentioned in #2 is fixed, an error condition 269 should be set if there is nothing (no format or no filename), from 270 which the API can determine the image format in which it should 271 return the BLOB. 272 4) Even though the MagickWand's image format has been set, when each 273 individual image's format/filename is empty, MagickWriteImagesFile() 274 sets the following error: 275 276 no encode delegate for this image format 'filename.ext.0' 277 278 where "filename.ext" was the name of the file on which the filehandle 279 was opened. The format of the MagickWand (if it is set). should 280 suffice as the desired encoding delegate. 281 2822004-11-18 Cristy <yarrow@image...> 283 * Added MagickNewImage() adds a blank image canvas of the specified size and 284 background color to the wand. 285 2862004-11-15 Cristy <yarrow@image...> 287 * Added MagickGetInterlaceScheme() to correspond to 288 MagickSetInterlaceScheme(). 289 2902004-11-06 Cristy <yarrow@image...> 291 * GNS contributed MagickQueryMultilineFontMetrics(). Its like 292 MagickQueryFontMetrics() but returns the maximum text width and height for 293 multiple lines of text. 294 2952004-11-04 Cristy <yarrow@image...> 296 * MagickReadImageBlob() and MagickReadImageFile() calls GetFirstImageInList(), 297 previously GetLastImageInList(). 298 2992004-10-28 Cristy <yarrow@image...> 300 * MagickTrimImage() was not properly trimmming the image. 301 3022004-10-27 Cristy <yarrow@image...> 303 * Added DrawSetTextAlignment() and DrawGetTextAlignment() methods (suggested 304 by Daniel Jackson). 305 3062004-10-25 Cristy <yarrow@image...> 307 * Verify the Wand QuantumDepth matches that of the ImageMagick core API. 308 * Added MagickSetAdjoin() and MagickSetImageAdjoin() methods. 309 3102004-10-17 Cristy <yarrow@image...> 311 * Added the MagickGetImagesBlob() method to turn an image sequence into a 312 blob. 313 3142004-10-14 Cristy <yarrow@image...> 315 * Added methods MagickClearException(), DrawClearException(), 316 PixelClearException(), and PixelClearIteratorException(). 317 3182004-10-12 Cristy <yarrow@image...> 319 * Add DrawGetVectorGraphics()/DrawSetVectorGraphics()/methods as a way to 320 persist the vector graphics state. 321 3222004-09-30 Cristy <yarrow@image...> 323 * Add new MagickQueryConfigureOption() method to return a valur associated 324 with a particular option. 325 3262004-09-29 Cristy <yarrow@image...> 327 * Return an error if MagickSetImageIndex() requests a bogus image index. 328 * MagickWriteImages(): default to a reasonable filename when no filename is 329 provided. 330 3312004-09-28 Cristy <yarrow@image...> 332 * Add new CloneDrawingWand() method. 333 3342004-09-15 Cristy <yarrow@image...> 335 * If the filename parameter of MagickWriteImage() is NULL, use the existing 336 filename. 337 3382004-09-13 Chris Madison <madisonblu@hotma...> 339 * DestroyMagickWand() was previous void, now it returns (MagickWand *) NULL 340 to force the wand to a known value and to detect logic errors in the program 341 (any reference to the wand after it is destroyed will cause a fault). 342 Other destroy methods will be changed in this manner as well. Note, 343 this change will not affect existing programs that rely on these methods. 344 3452004-09-11 Cristy <yarrow@image...> 346 * Relinquish pixel iterator ID to prevent small memory leak. 347 3482004-09-08 Cristy <yarrow@image...> 349 * Add MagickSetResolution(), required to render Postscript at a density 350 other than the default (e.g. 72dpi). 351 3522004-09-03 Cristy <yarrow@image...> 353 * Add IsMagickWand(), IsDrawingWand(), IsPixelWand(), and IsPixelIterator() 354 methods. 355 * Convert several drawing wand methods from void to MagickBooleanType so 356 they return MagickFalse if an error occurs (e.g. DrawComposite()). 357 3582004-08-28 Cristy <yarrow@image...> 359 * We now export the DrawComposite() drawing wand method as a public method. 360 Previously it was private. 361