1 2012-03-15 7.0.0-0 Anthony <anthony@griffith...>
2 * Fix the MagickWand add/read insertion of new images into wands
4 2012-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"
11 2012-02-12 7.0.0-0 Anthony <anthony@griffith...>
12 * new module "magick-cli" providing base for new "magick" command
14 2011-10-04 7.0.0-0 Anthony <anthony@griffith...>
15 * Rename wand iteration flags to more logical names
17 2011-09-21 7.0.0-0 Anthony <anthony@griffith...>
18 * new module "operator.c" which will holds the standard CLI options
20 2010-11-21 6.6.6-0 Cristy <quetzlzacatenango@image...>
21 * Add DrawGetFontResolution() / DrawSetFontResolution().
23 2009-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
29 2009-08-27 6.5.5-3 Cristy <quetzlzacatenango@image...>
30 * Added MagickSetOpacity/MagickGetOpacity.
32 2009-07-27 6.5.4-7 Cristy <quetzlzacatenango@image...>
33 * Added MagickSetBorderColor/MagickGetBorderColor.
35 2009-04-27 6.5.1-9 Cristy <quetzlzacatenango@image...>
36 * Added MagickSetImageFuzz/MagickGetImageFuzz.
38 2009-03-08 6.4.9-10 Mikko <mkoppanen@php...>
39 * Added DrawGet/SetTextKerning and DrawGet/SetInterWordSpacing.
41 2008-11-27 6.4.6-7 Cristy <quetzlzacatenango@image...>
42 * MagickSetVirtualPixelMethod() now properly sets and returns the
45 2008-11-03 6.4.5-4 Cristy <quetzlzacatenango@image...>
46 * Do not filter drawing commands.
48 2008-10-27 6.4.5-1 Cristy <quetzlzacatenango@image...>
49 * Add MagickSparseColorImage() API method.
51 2008-02-23 6.3.9-0 Cristy <quetzlzacatenango@image...>
52 * Patch MagickReadImageBlob() to support Postscript which does not have
55 2008-01-28 6.3.8-3 Cristy <quetzlzacatenango@image...>
56 * Return wand->images->depth for MagickGetImageDepth();
58 2008-01-10 6.3.7-10 Cristy <quetzlzacatenango@image...>
59 * Inherit image exception *before* destroying the cloned image (reference
60 http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=10415).
62 2007-11-27 6.3.7-2 Cristy <quetzlzacatenango@image...>
63 * Fix memory leak in MagickSetImageProfile() (reference
64 https://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=10197).
66 2007-11-06 6.3.6-10 Cristy <quetzlzacatenango@image...>
67 * New MagickSetImageAlphaChannel() method to activate, deactivate, reset, or
68 set the image alpha channel.
70 2007-10-27 6.3.6-4 Cristy <quetzlzacatenango@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).
74 2007-09-10 6.3.5-9 Cristy <quetzlzacatenango@image...>
75 * Added MagickGetImageProperties(), MagickGetImageOptions(), and
76 MagickGetImageProfiles() methods.
78 2007-07-18 6.3.5-3 Cristy <quetzlzacatenango@image...>
79 * Clone profile before returning from MagickRemoveImageProfile().
81 2007-07-16 6.3.5-2 Cristy <quetzlzacatenango@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).
86 2007-05-23 6.3.4-5 Cristy <quetzlzacatenango@image...>
87 * * Add MagickPaintFloodfillImage() method.
89 2007-04-18 6.3.3-9 Kwon <xogusgalaxy@nate....>
90 * Fixed small memory leak in RelinquishWandId().
92 2007-02-24 6.3.3-0 Cristy <quetzlzacatenango@image...>
93 * Add MagickResetImagePage() to reset the image page canvas and position.
95 2007-01-16 6.3.2-0 Cristy <stentz@image...>
96 * Added methods MagickGetAntialias(), MagickSetAntialias(),
97 MagickGetInterpolateMethod(), and MagickSetInterpolateMethod().
99 2007-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
104 * Added MagickSetImageClipMask(), MagickGetImageClipMask() methods.
105 * Add MagickSetImageProperty()/MagickGetImageProperty() and deprecate
106 MagickSetImageAttribute()/MagickGetImageAttribute().
108 2006-10-12 6.3.0-1 Cristy <stentz@image...>
109 * MagickSetImageColormapColor() now properly sync the image colormap.
110 * Add MagickGetImageInterpolateMethod() and MagickSetImageInterpolateMethod().
112 2006-06-26 6.2.8-6 Cristy <stentz@image...>
113 * DrawSetFillRule() no longer emits an improper MVG command.
115 2006-06-26 6.2.8-0 Cristy <stentz@image...>
116 * Fixed small memory leak in ClearDrawingWand().
118 2006-05-10 6.2.7-6 Cristy <stentz@image...>
119 * Add MagickSegmentImage() method to API.
121 2005-12-31 Cristy <stentz@image...>
122 * Opacity value not being returned by PixelGetColorAsString() /
123 PixelGetColorAsNormalizedString() correctly (bug report by O. Watson).
125 2005-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().
131 2005-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.
136 2005-12-11 Cristy <stentz@image...>
137 * Add PixelGetIteratorRow() and PixelGetCurrentIteratorRow() methods
138 (suggested by O. Watson).
139 * Add PixelGetColorAsNormalizedString() method (suggested by O. Watson).
141 2005-11-14 Cristy <stentz@image...>
142 * Add MagickSigmoidalContrastImage() method.
143 * Set the pixel depth in MagickSetPixelColor().
145 2005-10-28 Cristy <stentz@image...>
146 * Add MagickRandomThresholdImage(), MagickRandomThresholdImageChannel(),
147 and MagickShadeImage() (suggested by O. Watson).
149 2005-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.
154 2005-09-20 Cristy <yarrow@image...>
155 * Do not inherit base opacity when setting fill/stroke color.
157 2005-09-10 Cristy <yarrow@image...>
158 * Added MagickGetImageTicksPerSecond() and MagickSetImageTicksPerSecond().
159 * Added MagickGetMagickResource().
160 * Added MagickThumbnaiImage().
162 2005-09-01 Cristy <yarrow@image...>
163 * DrawSetStrokeDashArray() no longer faults for an array of one element
164 (bug report by O. Watson).
166 2005-08-24 Cristy <yarrow@image...>
167 * Add MagickWandGenesis() and MagickWandTermnus() methods.
169 2005-08-06 Cristy <yarrow@image...>
170 * Add MagickSetImageExtent() method.
171 * Add MagickSetType() method.
173 2005-06-15 Cristy <yarrow@image...>
174 * Add MagickClearException() to wand/magick-wand.h.
176 2005-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
182 2005-06-07 Cristy <yarrow@image...>
183 * Initialize pixel iterator ID in NewPixelRegionIterator (bug report by
185 * Add MagickGetImagePixelColor() method (suggested by O. Watson).
187 2005-06-01 Cristy <yarrow@image...>
188 * Added methods PixelSetFirstIteratorRow(), PixelSetLastIteratorRow(),
189 and IsPixelWandSimilar().
191 2005-05-28 Cristy <yarrow@image...>
192 * MagickGetImageTotalInkDensity() returns the total ink density for an image.
194 2005-05-16 Cristy <yarrow@image...>
195 * Add MagickSetPage() and MagickSetImagePage() methods.
197 2005-05-10 Cristy <yarrow@image...>
198 * CloneDrawingWand() no longer faults when the supplied drawing wand has not
201 2005-05-08 Cristy <yarrow@image...>
202 * MagickGetImageCompressionQuality() properly returns the image compression
203 quality. Previously it returned the wand compression quality.
205 2005-04-29 Cristy <yarrow@image...>
206 * PixelSetYellowQuantum() now sets the correct color component.
207 * Add MagickSetBackgroundColor() method to set the wand's background color
210 2005-04-14 Cristy <yarrow@image...>
211 * Inherit exception when MagickWriteImageFile() fails.
213 2005-04-11 Cristy <yarrow@image...>
214 * Added MagickRegionOfInterestImage() to return a region of an image as a
217 2005-04-10 Cristy <yarrow@image...>
218 * Throw exception if fdopen() fails in
219 MagickWriteImageFile()/MagickReadImageFile() methods.
221 2005-03-22 Cristy <yarrow@image...>
222 * Added MagickSigmoidalContrastImage() for sigmoidal non-linearity contrast
225 2005-03-10 Chris Madison <madisonblu@hotma...>
226 * Added the MagickSepiaToneImage() method to simulate a sepia-toned photo.
228 2004-03-05 Chris Madison <madisonblu@hotma...>
229 * Add MagickGetImageAttribute() method.
231 2005-02-15 Peter Seiderer <ps.report@gmx.n...>
232 * Avoid an assert by checking the return from GetImageFromMagickWand(0.
234 2005-01-19 Cristy <yarrow@image...>
235 * Permit NULL for MagickSetFilename() & MagickSetImageFilename().
237 2005-01-10 Cristy <yarrow@image...>
238 * Permit NULL for MagickSetFormat() & MagickSetImageFormat().
240 2004-12-15 Cristy <yarrow@image...>
241 * Added ClearMagickWand(), ClearPixelIterator(), ClearPixelWand() and
242 ClearDrawingWand() methods.
244 2004-12-10 Cristy <yarrow@image...>
245 * Set the vector graphics length in DrawSetVectorGraphics() (bug report from
248 2004-12-09 Cristy <yarrow@image...>
249 * Classic off-by-one patch for CloneDrawingWand() (bug report from O. Watson).
251 2004-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.
256 2004-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
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
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:
276 no encode delegate for this image format 'filename.ext.0'
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.
282 2004-11-18 Cristy <yarrow@image...>
283 * Added MagickNewImage() adds a blank image canvas of the specified size and
284 background color to the wand.
286 2004-11-15 Cristy <yarrow@image...>
287 * Added MagickGetInterlaceScheme() to correspond to
288 MagickSetInterlaceScheme().
290 2004-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.
295 2004-11-04 Cristy <yarrow@image...>
296 * MagickReadImageBlob() and MagickReadImageFile() calls GetFirstImageInList(),
297 previously GetLastImageInList().
299 2004-10-28 Cristy <yarrow@image...>
300 * MagickTrimImage() was not properly trimmming the image.
302 2004-10-27 Cristy <yarrow@image...>
303 * Added DrawSetTextAlignment() and DrawGetTextAlignment() methods (suggested
306 2004-10-25 Cristy <yarrow@image...>
307 * Verify the Wand QuantumDepth matches that of the ImageMagick core API.
308 * Added MagickSetAdjoin() and MagickSetImageAdjoin() methods.
310 2004-10-17 Cristy <yarrow@image...>
311 * Added the MagickGetImagesBlob() method to turn an image sequence into a
314 2004-10-14 Cristy <yarrow@image...>
315 * Added methods MagickClearException(), DrawClearException(),
316 PixelClearException(), and PixelClearIteratorException().
318 2004-10-12 Cristy <yarrow@image...>
319 * Add DrawGetVectorGraphics()/DrawSetVectorGraphics()/methods as a way to
320 persist the vector graphics state.
322 2004-09-30 Cristy <yarrow@image...>
323 * Add new MagickQueryConfigureOption() method to return a valur associated
324 with a particular option.
326 2004-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
331 2004-09-28 Cristy <yarrow@image...>
332 * Add new CloneDrawingWand() method.
334 2004-09-15 Cristy <yarrow@image...>
335 * If the filename parameter of MagickWriteImage() is NULL, use the existing
338 2004-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.
345 2004-09-11 Cristy <yarrow@image...>
346 * Relinquish pixel iterator ID to prevent small memory leak.
348 2004-09-08 Cristy <yarrow@image...>
349 * Add MagickSetResolution(), required to render Postscript at a density
350 other than the default (e.g. 72dpi).
352 2004-09-03 Cristy <yarrow@image...>
353 * Add IsMagickWand(), IsDrawingWand(), IsPixelWand(), and IsPixelIterator()
355 * Convert several drawing wand methods from void to MagickBooleanType so
356 they return MagickFalse if an error occurs (e.g. DrawComposite()).
358 2004-08-28 Cristy <yarrow@image...>
359 * We now export the DrawComposite() drawing wand method as a public method.
360 Previously it was private.