12012-07-30 6.7.8-7 Cristy <quetzlzacatenango@image...> 2 * Add MagickOptimizeImageTransparency() method. 3 42012-03-18 6.7.6-1 Anthony <anthony@griffith...> 5 * Add MagickCompositeLayers() to allow you to compose two magick wands 6 72012-03-15 6.7.6-1 Anthony <anthony@griffith...> 8 * Rename wand iteration flags to more logical names 9 * Fix the MagickWand add/read insertion of new images into wands 10 112010-11-21 6.6.6-0 Cristy <quetzlzacatenango@image...> 12 * Add DrawGetFontResolution() / DrawSetFontResolution(). 13 142009-10-10 6.5.6-10 Cristy <quetzlzacatenango@image...> 15 * Add MagickSetImageArtifact(), etc. Wand artifacts are like properties 16 except they are not exported. They are needed for some method such 17 as setting compose:args for the composite DisplaceCompositeOp compose 18 operator. 19 202009-08-27 6.5.5-3 Cristy <quetzlzacatenango@image...> 21 * Added MagickSetOpacity/MagickGetOpacity. 22 232009-07-27 6.5.4-7 Cristy <quetzlzacatenango@image...> 24 * Added MagickSetBorderColor/MagickGetBorderColor. 25 262009-04-27 6.5.1-9 Cristy <quetzlzacatenango@image...> 27 * Added MagickSetImageFuzz/MagickGetImageFuzz. 28 292009-03-08 6.4.9-10 Mikko <mkoppanen@php...> 30 * Added DrawGet/SetTextKerning and DrawGet/SetInterWordSpacing. 31 322008-11-27 6.4.6-7 Cristy <quetzlzacatenango@image...> 33 * MagickSetVirtualPixelMethod() now properly sets and returns the 34 virtual pixel method. 35 362008-11-03 6.4.5-4 Cristy <quetzlzacatenango@image...> 37 * Do not filter drawing commands. 38 392008-10-27 6.4.5-1 Cristy <quetzlzacatenango@image...> 40 * Add MagickSparseColorImage() API method. 41 422008-02-23 6.3.9-0 Cristy <quetzlzacatenango@image...> 43 * Patch MagickReadImageBlob() to support Postscript which does not have 44 native blob support. 45 462008-01-28 6.3.8-3 Cristy <quetzlzacatenango@image...> 47 * Return wand->images->depth for MagickGetImageDepth(); 48 492008-01-10 6.3.7-10 Cristy <quetzlzacatenango@image...> 50 * Inherit image exception *before* destroying the cloned image (reference 51 http://imagemagick.org/discourse-server/viewtopic.php?f=3&t=10415). 52 532007-11-27 6.3.7-2 Cristy <quetzlzacatenango@image...> 54 * Fix memory leak in MagickSetImageProfile() (reference 55 https://imagemagick.org/discourse-server/viewtopic.php?f=1&t=10197). 56 572007-11-06 6.3.6-10 Cristy <quetzlzacatenango@image...> 58 * New MagickSetImageAlphaChannel() method to activate, deactivate, reset, or 59 set the image alpha channel. 60 612007-10-27 6.3.6-4 Cristy <quetzlzacatenango@image...> 62 * Added get/set font and pointsize methods to magick-property.c (reference 63 http://imagemagick.org/discourse-server/viewtopic.php?f=6&t=9997). 64 652007-09-10 6.3.5-9 Cristy <quetzlzacatenango@image...> 66 * Added MagickGetImageProperties(), MagickGetImageOptions(), and 67 MagickGetImageProfiles() methods. 68 692007-07-18 6.3.5-3 Cristy <quetzlzacatenango@image...> 70 * Clone profile before returning from MagickRemoveImageProfile(). 71 722007-07-16 6.3.5-2 Cristy <quetzlzacatenango@image...> 73 * Add MagickGetType() method. 74 * Fix MagickAddImage() relative to the iterator offset (reference 75 http://imagemagick.org/discourse-server/viewtopic.php?f=3&t=9218). 76 772007-05-23 6.3.4-5 Cristy <quetzlzacatenango@image...> 78 * * Add MagickPaintFloodfillImage() method. 79 802007-04-18 6.3.3-9 Kwon <xogusgalaxy@nate....> 81 * Fixed small memory leak in RelinquishWandId(). 82 832007-02-24 6.3.3-0 Cristy <quetzlzacatenango@image...> 84 * Add MagickResetImagePage() to reset the image page canvas and position. 85 862007-01-16 6.3.2-0 Cristy <stentz@image...> 87 * Added methods MagickGetAntialias(), MagickSetAntialias(), 88 MagickGetInterpolateMethod(), and MagickSetInterpolateMethod(). 89 902007-01-08 6.3.1-7 Cristy <stentz@image...> 91 * MagickOrtderedPosterizeImage() performs an ordered dither based on a number 92 of pre-defined dithering threshold maps, but over multiple intensity levels, 93 which can be different for different channels, according to the input 94 arguments. 95 * Added MagickSetImageClipMask(), MagickGetImageClipMask() methods. 96 * Add MagickSetImageProperty()/MagickGetImageProperty() and deprecate 97 MagickSetImageAttribute()/MagickGetImageAttribute(). 98 992006-10-12 6.3.0-1 Cristy <stentz@image...> 100 * MagickSetImageColormapColor() now properly sync the image colormap. 101 * Add MagickGetImageInterpolateMethod() and MagickSetImageInterpolateMethod(). 102 1032006-06-26 6.2.8-6 Cristy <stentz@image...> 104 * DrawSetFillRule() no longer emits an improper MVG command. 105 1062006-06-26 6.2.8-0 Cristy <stentz@image...> 107 * Fixed small memory leak in ClearDrawingWand(). 108 1092006-05-10 6.2.7-6 Cristy <stentz@image...> 110 * Add MagickSegmentImage() method to API. 111 1122005-12-31 Cristy <stentz@image...> 113 * Opacity value not being returned by PixelGetColorAsString() / 114 PixelGetColorAsNormalizedString() correctly (bug report by O. Watson). 115 1162005-12-28 Cristy <stentz@image...> 117 * DrawSetGravity() actually sets the gravity when ForgetGravity is 118 specified (bug report by O. Watson). 119 * Added MagickSetIteratorIndex() and MagickGetIteratorIndex() and 120 deprecated MagickSetImageIndex() and MagickGetImageIndex(). 121 1222005-12-21 Cristy <stentz@image...> 123 * PixelSyncIterator() promotes PseudoClass images to DirectClass (bug 124 report by O. Watson). 125 * Fix PixelGetIteratorRow() to return the correct image row. 126 1272005-12-11 Cristy <stentz@image...> 128 * Add PixelGetIteratorRow() and PixelGetCurrentIteratorRow() methods 129 (suggested by O. Watson). 130 * Add PixelGetColorAsNormalizedString() method (suggested by O. Watson). 131 1322005-11-14 Cristy <stentz@image...> 133 * Add MagickSigmoidalContrastImage() method. 134 * Set the pixel depth in MagickSetPixelColor(). 135 1362005-10-28 Cristy <stentz@image...> 137 * Add MagickRandomThresholdImage(), MagickRandomThresholdImageChannel(), 138 and MagickShadeImage() (suggested by O. Watson). 139 1402005-10-18 Cristy <stentz@image...> 141 * PixelGetQuantumColor() automatically converts CMYK pixel wands to RGB. 142 * Add DrawResetVectorGraphics() method to reset the vector graphics but not 143 the drawing attributes. 144 1452005-09-20 Cristy <yarrow@image...> 146 * Do not inherit base opacity when setting fill/stroke color. 147 1482005-09-10 Cristy <yarrow@image...> 149 * Added MagickGetImageTicksPerSecond() and MagickSetImageTicksPerSecond(). 150 * Added MagickGetMagickResource(). 151 * Added MagickThumbnaiImage(). 152 1532005-09-01 Cristy <yarrow@image...> 154 * DrawSetStrokeDashArray() no longer faults for an array of one element 155 (bug report by O. Watson). 156 1572005-08-24 Cristy <yarrow@image...> 158 * Add MagickWandGenesis() and MagickWandTermnus() methods. 159 1602005-08-06 Cristy <yarrow@image...> 161 * Add MagickSetImageExtent() method. 162 * Add MagickSetType() method. 163 1642005-06-15 Cristy <yarrow@image...> 165 * Add MagickClearException() to wand/magick-wand.h. 166 1672005-06-15 Cristy <yarrow@image...> 168 * DrawGetFillOpacity() and DrawSetFillOpacity() were setting alpha values 169 rather than opacity. Note, both of these methods are deprecated. 170 * Added MagickSetImageProgressMonitor() to monitor the progress of a specific 171 image. 172 1732005-06-07 Cristy <yarrow@image...> 174 * Initialize pixel iterator ID in NewPixelRegionIterator (bug report by 175 O. Watson). 176 * Add MagickGetImagePixelColor() method (suggested by O. Watson). 177 1782005-06-01 Cristy <yarrow@image...> 179 * Added methods PixelSetFirstIteratorRow(), PixelSetLastIteratorRow(), 180 and IsPixelWandSimilar(). 181 1822005-05-28 Cristy <yarrow@image...> 183 * MagickGetImageTotalInkDensity() returns the total ink density for an image. 184 1852005-05-16 Cristy <yarrow@image...> 186 * Add MagickSetPage() and MagickSetImagePage() methods. 187 1882005-05-10 Cristy <yarrow@image...> 189 * CloneDrawingWand() no longer faults when the supplied drawing wand has not 190 been initialized. 191 1922005-05-08 Cristy <yarrow@image...> 193 * MagickGetImageCompressionQuality() properly returns the image compression 194 quality. Previously it returned the wand compression quality. 195 1962005-04-29 Cristy <yarrow@image...> 197 * PixelSetYellowQuantum() now sets the correct color component. 198 * Add MagickSetBackgroundColor() method to set the wand's background color 199 attribute. 200 2012005-04-14 Cristy <yarrow@image...> 202 * Inherit exception when MagickWriteImageFile() fails. 203 2042005-04-11 Cristy <yarrow@image...> 205 * Added MagickRegionOfInterestImage() to return a region of an image as a 206 new wand. 207 2082005-04-10 Cristy <yarrow@image...> 209 * Throw exception if fdopen() fails in 210 MagickWriteImageFile()/MagickReadImageFile() methods. 211 2122005-03-22 Cristy <yarrow@image...> 213 * Added MagickSigmoidalContrastImage() for sigmoidal non-linearity contrast 214 control. 215 2162005-03-10 Chris Madison <madisonblu@hotma...> 217 * Added the MagickSepiaToneImage() method to simulate a sepia-toned photo. 218 2192004-03-05 Chris Madison <madisonblu@hotma...> 220 * Add MagickGetImageAttribute() method. 221 2222005-02-15 Peter Seiderer <ps.report@gmx.n...> 223 * Avoid an assert by checking the return from GetImageFromMagickWand(0. 224 2252005-01-19 Cristy <yarrow@image...> 226 * Permit NULL for MagickSetFilename() & MagickSetImageFilename(). 227 2282005-01-10 Cristy <yarrow@image...> 229 * Permit NULL for MagickSetFormat() & MagickSetImageFormat(). 230 2312004-12-15 Cristy <yarrow@image...> 232 * Added ClearMagickWand(), ClearPixelIterator(), ClearPixelWand() and 233 ClearDrawingWand() methods. 234 2352004-12-10 Cristy <yarrow@image...> 236 * Set the vector graphics length in DrawSetVectorGraphics() (bug report from 237 O. Watson). 238 2392004-12-09 Cristy <yarrow@image...> 240 * Classic off-by-one patch for CloneDrawingWand() (bug report from O. Watson). 241 2422004-12-08 Cristy <yarrow@image...> 243 * DrawGetStrokeOpacity() just calls DrawGetStrokeAlpha(); it is supposed to 244 return the stroke color's opacity, not the alpha (problem reports from O. 245 Watson). 246 2472004-12-07 Cristy <yarrow@image...> 248 * Fixed problem reports from O. Watson: 249 1) If the format of an image is not set, the BLOB returned by 250 MagickGetImageBlob() will be empty, but no MagickWand error condition 251 is ever set. 252 2) If the MagickWand's image sequence's format if set (via 253 MagickSetFormat()), but the image formats of individual images are not 254 set, any attempt to retrieve the sequence's image BLOB still fails 255 (i.e. via MagickGetImagesBlob()). If the MagickWand's image format 256 has been set, the API should use that format as the exclusive format 257 for the returned BLOB. 258 3) When the situation in #2 above occurs, no error condition is 259 set. If the problem mentioned in #2 is fixed, an error condition 260 should be set if there is nothing (no format or no filename), from 261 which the API can determine the image format in which it should 262 return the BLOB. 263 4) Even though the MagickWand's image format has been set, when each 264 individual image's format/filename is empty, MagickWriteImagesFile() 265 sets the following error: 266 267 no encode delegate for this image format 'filename.ext.0' 268 269 where "filename.ext" was the name of the file on which the filehandle 270 was opened. The format of the MagickWand (if it is set). should 271 suffice as the desired encoding delegate. 272 2732004-11-18 Cristy <yarrow@image...> 274 * Added MagickNewImage() adds a blank image canvas of the specified size and 275 background color to the wand. 276 2772004-11-15 Cristy <yarrow@image...> 278 * Added MagickGetInterlaceScheme() to correspond to 279 MagickSetInterlaceScheme(). 280 2812004-11-06 Cristy <yarrow@image...> 282 * GNS contributed MagickQueryMultilineFontMetrics(). Its like 283 MagickQueryFontMetrics() but returns the maximum text width and height for 284 multiple lines of text. 285 2862004-11-04 Cristy <yarrow@image...> 287 * MagickReadImageBlob() and MagickReadImageFile() calls GetFirstImageInList(), 288 previously GetLastImageInList(). 289 2902004-10-28 Cristy <yarrow@image...> 291 * MagickTrimImage() was not properly trimmming the image. 292 2932004-10-27 Cristy <yarrow@image...> 294 * Added DrawSetTextAlignment() and DrawGetTextAlignment() methods (suggested 295 by Daniel Jackson). 296 2972004-10-25 Cristy <yarrow@image...> 298 * Verify the Wand QuantumDepth matches that of the ImageMagick core API. 299 * Added MagickSetAdjoin() and MagickSetImageAdjoin() methods. 300 3012004-10-17 Cristy <yarrow@image...> 302 * Added the MagickGetImagesBlob() method to turn an image sequence into a 303 blob. 304 3052004-10-14 Cristy <yarrow@image...> 306 * Added methods MagickClearException(), DrawClearException(), 307 PixelClearException(), and PixelClearIteratorException(). 308 3092004-10-12 Cristy <yarrow@image...> 310 * Add DrawGetVectorGraphics()/DrawSetVectorGraphics()/methods as a way to 311 persist the vector graphics state. 312 3132004-09-30 Cristy <yarrow@image...> 314 * Add new MagickQueryConfigureOption() method to return a valur associated 315 with a particular option. 316 3172004-09-29 Cristy <yarrow@image...> 318 * Return an error if MagickSetImageIndex() requests a bogus image index. 319 * MagickWriteImages(): default to a reasonable filename when no filename is 320 provided. 321 3222004-09-28 Cristy <yarrow@image...> 323 * Add new CloneDrawingWand() method. 324 3252004-09-15 Cristy <yarrow@image...> 326 * If the filename parameter of MagickWriteImage() is NULL, use the existing 327 filename. 328 3292004-09-13 Chris Madison <madisonblu@hotma...> 330 * DestroyMagickWand() was previous void, now it returns (MagickWand *) NULL 331 to force the wand to a known value and to detect logic errors in the program 332 (any reference to the wand after it is destroyed will cause a fault). 333 Other destroy methods will be changed in this manner as well. Note, 334 this change will not affect existing programs that rely on these methods. 335 3362004-09-11 Cristy <yarrow@image...> 337 * Relinquish pixel iterator ID to prevent small memory leak. 338 3392004-09-08 Cristy <yarrow@image...> 340 * Add MagickSetResolution(), required to render Postscript at a density 341 other than the default (e.g. 72dpi). 342 3432004-09-03 Cristy <yarrow@image...> 344 * Add IsMagickWand(), IsDrawingWand(), IsPixelWand(), and IsPixelIterator() 345 methods. 346 * Convert several drawing wand methods from void to MagickBooleanType so 347 they return MagickFalse if an error occurs (e.g. DrawComposite()). 348 3492004-08-28 Cristy <yarrow@image...> 350 * We now export the DrawComposite() drawing wand method as a public method. 351 Previously it was private. 352