1 2012-03-15 7.0.0-0 Anthony <anthony (a] griffith...> 2 * Fix the MagickWand add/read insertion of new images into wands 3 4 2012-02-26 7.0.0-0 Anthony <anthony (a] 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 11 2012-02-12 7.0.0-0 Anthony <anthony (a] griffith...> 12 * new module "magick-cli" providing base for new "magick" command 13 14 2011-10-04 7.0.0-0 Anthony <anthony (a] griffith...> 15 * Rename wand iteration flags to more logical names 16 17 2011-09-21 7.0.0-0 Anthony <anthony (a] griffith...> 18 * new module "operator.c" which will holds the standard CLI options 19 20 2010-11-21 6.6.6-0 Cristy <quetzlzacatenango (a] image...> 21 * Add DrawGetFontResolution() / DrawSetFontResolution(). 22 23 2009-10-10 6.5.6-10 Cristy <quetzlzacatenango (a] 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 29 2009-08-27 6.5.5-3 Cristy <quetzlzacatenango (a] image...> 30 * Added MagickSetOpacity/MagickGetOpacity. 31 32 2009-07-27 6.5.4-7 Cristy <quetzlzacatenango (a] image...> 33 * Added MagickSetBorderColor/MagickGetBorderColor. 34 35 2009-04-27 6.5.1-9 Cristy <quetzlzacatenango (a] image...> 36 * Added MagickSetImageFuzz/MagickGetImageFuzz. 37 38 2009-03-08 6.4.9-10 Mikko <mkoppanen (a] php...> 39 * Added DrawGet/SetTextKerning and DrawGet/SetInterWordSpacing. 40 41 2008-11-27 6.4.6-7 Cristy <quetzlzacatenango (a] image...> 42 * MagickSetVirtualPixelMethod() now properly sets and returns the 43 virtual pixel method. 44 45 2008-11-03 6.4.5-4 Cristy <quetzlzacatenango (a] image...> 46 * Do not filter drawing commands. 47 48 2008-10-27 6.4.5-1 Cristy <quetzlzacatenango (a] image...> 49 * Add MagickSparseColorImage() API method. 50 51 2008-02-23 6.3.9-0 Cristy <quetzlzacatenango (a] image...> 52 * Patch MagickReadImageBlob() to support Postscript which does not have 53 native blob support. 54 55 2008-01-28 6.3.8-3 Cristy <quetzlzacatenango (a] image...> 56 * Return wand->images->depth for MagickGetImageDepth(); 57 58 2008-01-10 6.3.7-10 Cristy <quetzlzacatenango (a] image...> 59 * Inherit image exception *before* destroying the cloned image (reference 60 http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=10415). 61 62 2007-11-27 6.3.7-2 Cristy <quetzlzacatenango (a] image...> 63 * Fix memory leak in MagickSetImageProfile() (reference 64 https://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=10197). 65 66 2007-11-06 6.3.6-10 Cristy <quetzlzacatenango (a] image...> 67 * New MagickSetImageAlphaChannel() method to activate, deactivate, reset, or 68 set the image alpha channel. 69 70 2007-10-27 6.3.6-4 Cristy <quetzlzacatenango (a] image...> 71 * Added get/set font and pointsize methods to magick-property.c (reference 72 http://www.imagemagick.org/discourse-server/viewtopic.php?f=6&t=9997). 73 74 2007-09-10 6.3.5-9 Cristy <quetzlzacatenango (a] image...> 75 * Added MagickGetImageProperties(), MagickGetImageOptions(), and 76 MagickGetImageProfiles() methods. 77 78 2007-07-18 6.3.5-3 Cristy <quetzlzacatenango (a] image...> 79 * Clone profile before returning from MagickRemoveImageProfile(). 80 81 2007-07-16 6.3.5-2 Cristy <quetzlzacatenango (a] image...> 82 * Add MagickGetType() method. 83 * Fix MagickAddImage() relative to the iterator offset (reference 84 http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=9218). 85 86 2007-05-23 6.3.4-5 Cristy <quetzlzacatenango (a] image...> 87 * * Add MagickPaintFloodfillImage() method. 88 89 2007-04-18 6.3.3-9 Kwon <xogusgalaxy (a] nate....> 90 * Fixed small memory leak in RelinquishWandId(). 91 92 2007-02-24 6.3.3-0 Cristy <quetzlzacatenango (a] image...> 93 * Add MagickResetImagePage() to reset the image page canvas and position. 94 95 2007-01-16 6.3.2-0 Cristy <stentz (a] image...> 96 * Added methods MagickGetAntialias(), MagickSetAntialias(), 97 MagickGetInterpolateMethod(), and MagickSetInterpolateMethod(). 98 99 2007-01-08 6.3.1-7 Cristy <stentz (a] 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 108 2006-10-12 6.3.0-1 Cristy <stentz (a] image...> 109 * MagickSetImageColormapColor() now properly sync the image colormap. 110 * Add MagickGetImageInterpolateMethod() and MagickSetImageInterpolateMethod(). 111 112 2006-06-26 6.2.8-6 Cristy <stentz (a] image...> 113 * DrawSetFillRule() no longer emits an improper MVG command. 114 115 2006-06-26 6.2.8-0 Cristy <stentz (a] image...> 116 * Fixed small memory leak in ClearDrawingWand(). 117 118 2006-05-10 6.2.7-6 Cristy <stentz (a] image...> 119 * Add MagickSegmentImage() method to API. 120 121 2005-12-31 Cristy <stentz (a] image...> 122 * Opacity value not being returned by PixelGetColorAsString() / 123 PixelGetColorAsNormalizedString() correctly (bug report by O. Watson). 124 125 2005-12-28 Cristy <stentz (a] 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 131 2005-12-21 Cristy <stentz (a] image...> 132 * PixelSyncIterator() promotes PseudoClass images to DirectClass (bug 133 report by O. Watson). 134 * Fix PixelGetIteratorRow() to return the correct image row. 135 136 2005-12-11 Cristy <stentz (a] image...> 137 * Add PixelGetIteratorRow() and PixelGetCurrentIteratorRow() methods 138 (suggested by O. Watson). 139 * Add PixelGetColorAsNormalizedString() method (suggested by O. Watson). 140 141 2005-11-14 Cristy <stentz (a] image...> 142 * Add MagickSigmoidalContrastImage() method. 143 * Set the pixel depth in MagickSetPixelColor(). 144 145 2005-10-28 Cristy <stentz (a] image...> 146 * Add MagickRandomThresholdImage(), MagickRandomThresholdImageChannel(), 147 and MagickShadeImage() (suggested by O. Watson). 148 149 2005-10-18 Cristy <stentz (a] 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 154 2005-09-20 Cristy <yarrow (a] image...> 155 * Do not inherit base opacity when setting fill/stroke color. 156 157 2005-09-10 Cristy <yarrow (a] image...> 158 * Added MagickGetImageTicksPerSecond() and MagickSetImageTicksPerSecond(). 159 * Added MagickGetMagickResource(). 160 * Added MagickThumbnaiImage(). 161 162 2005-09-01 Cristy <yarrow (a] image...> 163 * DrawSetStrokeDashArray() no longer faults for an array of one element 164 (bug report by O. Watson). 165 166 2005-08-24 Cristy <yarrow (a] image...> 167 * Add MagickWandGenesis() and MagickWandTermnus() methods. 168 169 2005-08-06 Cristy <yarrow (a] image...> 170 * Add MagickSetImageExtent() method. 171 * Add MagickSetType() method. 172 173 2005-06-15 Cristy <yarrow (a] image...> 174 * Add MagickClearException() to wand/magick-wand.h. 175 176 2005-06-15 Cristy <yarrow (a] 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 182 2005-06-07 Cristy <yarrow (a] image...> 183 * Initialize pixel iterator ID in NewPixelRegionIterator (bug report by 184 O. Watson). 185 * Add MagickGetImagePixelColor() method (suggested by O. Watson). 186 187 2005-06-01 Cristy <yarrow (a] image...> 188 * Added methods PixelSetFirstIteratorRow(), PixelSetLastIteratorRow(), 189 and IsPixelWandSimilar(). 190 191 2005-05-28 Cristy <yarrow (a] image...> 192 * MagickGetImageTotalInkDensity() returns the total ink density for an image. 193 194 2005-05-16 Cristy <yarrow (a] image...> 195 * Add MagickSetPage() and MagickSetImagePage() methods. 196 197 2005-05-10 Cristy <yarrow (a] image...> 198 * CloneDrawingWand() no longer faults when the supplied drawing wand has not 199 been initialized. 200 201 2005-05-08 Cristy <yarrow (a] image...> 202 * MagickGetImageCompressionQuality() properly returns the image compression 203 quality. Previously it returned the wand compression quality. 204 205 2005-04-29 Cristy <yarrow (a] image...> 206 * PixelSetYellowQuantum() now sets the correct color component. 207 * Add MagickSetBackgroundColor() method to set the wand's background color 208 attribute. 209 210 2005-04-14 Cristy <yarrow (a] image...> 211 * Inherit exception when MagickWriteImageFile() fails. 212 213 2005-04-11 Cristy <yarrow (a] image...> 214 * Added MagickRegionOfInterestImage() to return a region of an image as a 215 new wand. 216 217 2005-04-10 Cristy <yarrow (a] image...> 218 * Throw exception if fdopen() fails in 219 MagickWriteImageFile()/MagickReadImageFile() methods. 220 221 2005-03-22 Cristy <yarrow (a] image...> 222 * Added MagickSigmoidalContrastImage() for sigmoidal non-linearity contrast 223 control. 224 225 2005-03-10 Chris Madison <madisonblu (a] hotma...> 226 * Added the MagickSepiaToneImage() method to simulate a sepia-toned photo. 227 228 2004-03-05 Chris Madison <madisonblu (a] hotma...> 229 * Add MagickGetImageAttribute() method. 230 231 2005-02-15 Peter Seiderer <ps.report (a] gmx.n...> 232 * Avoid an assert by checking the return from GetImageFromMagickWand(0. 233 234 2005-01-19 Cristy <yarrow (a] image...> 235 * Permit NULL for MagickSetFilename() & MagickSetImageFilename(). 236 237 2005-01-10 Cristy <yarrow (a] image...> 238 * Permit NULL for MagickSetFormat() & MagickSetImageFormat(). 239 240 2004-12-15 Cristy <yarrow (a] image...> 241 * Added ClearMagickWand(), ClearPixelIterator(), ClearPixelWand() and 242 ClearDrawingWand() methods. 243 244 2004-12-10 Cristy <yarrow (a] image...> 245 * Set the vector graphics length in DrawSetVectorGraphics() (bug report from 246 O. Watson). 247 248 2004-12-09 Cristy <yarrow (a] image...> 249 * Classic off-by-one patch for CloneDrawingWand() (bug report from O. Watson). 250 251 2004-12-08 Cristy <yarrow (a] 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 256 2004-12-07 Cristy <yarrow (a] 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 282 2004-11-18 Cristy <yarrow (a] image...> 283 * Added MagickNewImage() adds a blank image canvas of the specified size and 284 background color to the wand. 285 286 2004-11-15 Cristy <yarrow (a] image...> 287 * Added MagickGetInterlaceScheme() to correspond to 288 MagickSetInterlaceScheme(). 289 290 2004-11-06 Cristy <yarrow (a] image...> 291 * GNS contributed MagickQueryMultilineFontMetrics(). Its like 292 MagickQueryFontMetrics() but returns the maximum text width and height for 293 multiple lines of text. 294 295 2004-11-04 Cristy <yarrow (a] image...> 296 * MagickReadImageBlob() and MagickReadImageFile() calls GetFirstImageInList(), 297 previously GetLastImageInList(). 298 299 2004-10-28 Cristy <yarrow (a] image...> 300 * MagickTrimImage() was not properly trimmming the image. 301 302 2004-10-27 Cristy <yarrow (a] image...> 303 * Added DrawSetTextAlignment() and DrawGetTextAlignment() methods (suggested 304 by Daniel Jackson). 305 306 2004-10-25 Cristy <yarrow (a] image...> 307 * Verify the Wand QuantumDepth matches that of the ImageMagick core API. 308 * Added MagickSetAdjoin() and MagickSetImageAdjoin() methods. 309 310 2004-10-17 Cristy <yarrow (a] image...> 311 * Added the MagickGetImagesBlob() method to turn an image sequence into a 312 blob. 313 314 2004-10-14 Cristy <yarrow (a] image...> 315 * Added methods MagickClearException(), DrawClearException(), 316 PixelClearException(), and PixelClearIteratorException(). 317 318 2004-10-12 Cristy <yarrow (a] image...> 319 * Add DrawGetVectorGraphics()/DrawSetVectorGraphics()/methods as a way to 320 persist the vector graphics state. 321 322 2004-09-30 Cristy <yarrow (a] image...> 323 * Add new MagickQueryConfigureOption() method to return a valur associated 324 with a particular option. 325 326 2004-09-29 Cristy <yarrow (a] 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 331 2004-09-28 Cristy <yarrow (a] image...> 332 * Add new CloneDrawingWand() method. 333 334 2004-09-15 Cristy <yarrow (a] image...> 335 * If the filename parameter of MagickWriteImage() is NULL, use the existing 336 filename. 337 338 2004-09-13 Chris Madison <madisonblu (a] 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 345 2004-09-11 Cristy <yarrow (a] image...> 346 * Relinquish pixel iterator ID to prevent small memory leak. 347 348 2004-09-08 Cristy <yarrow (a] image...> 349 * Add MagickSetResolution(), required to render Postscript at a density 350 other than the default (e.g. 72dpi). 351 352 2004-09-03 Cristy <yarrow (a] 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 358 2004-08-28 Cristy <yarrow (a] image...> 359 * We now export the DrawComposite() drawing wand method as a public method. 360 Previously it was private. 361