blob: 780d18ccd407d01728f6a2dbd5d5f233a5ad4de1 [file] [log] [blame]
anthony756cd0d2012-04-08 12:41:44 +000012012-03-15 7.0.0-0 Anthony <anthony@griffith...>
anthonyf9933f42012-03-15 13:28:59 +00002 * Fix the MagickWand add/read insertion of new images into wands
3
anthony43f425d2012-02-26 12:58:58 +000042012-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
anthonyfa1e43d2012-02-12 12:55:45 +0000112012-02-12 7.0.0-0 Anthony <anthony@griffith...>
12 * new module "magick-cli" providing base for new "magick" command
13
anthonya89dd172011-10-04 13:29:35 +0000142011-10-04 7.0.0-0 Anthony <anthony@griffith...>
anthonyf9933f42012-03-15 13:28:59 +000015 * Rename wand iteration flags to more logical names
anthonyc1215252011-10-04 13:30:09 +000016
anthonya89dd172011-10-04 13:29:35 +0000172011-09-21 7.0.0-0 Anthony <anthony@griffith...>
anthonyf2152b62011-09-26 23:22:34 +000018 * new module "operator.c" which will holds the standard CLI options
19
cristy56375382010-11-21 23:49:30 +0000202010-11-21 6.6.6-0 Cristy <quetzlzacatenango@image...>
21 * Add DrawGetFontResolution() / DrawSetFontResolution().
22
cristy6a97fda2009-10-11 20:42:55 +0000232009-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
cristy3ed852e2009-09-05 21:47:34 +0000292009-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.
anthonyf9933f42012-03-15 13:28:59 +000050
cristy3ed852e2009-09-05 21:47:34 +0000512008-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://www.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://www.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
anthonyf9933f42012-03-15 13:28:59 +000068 set the image alpha channel.
cristy3ed852e2009-09-05 21:47:34 +000069
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://www.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://www.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
anthonyf9933f42012-03-15 13:28:59 +0000101 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.
cristy3ed852e2009-09-05 21:47:34 +0000104 * 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...>
anthonyf9933f42012-03-15 13:28:59 +0000126 * DrawSetGravity() actually sets the gravity when ForgetGravity is
cristy3ed852e2009-09-05 21:47:34 +0000127 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).
anthonyf9933f42012-03-15 13:28:59 +0000140
cristy3ed852e2009-09-05 21:47:34 +00001412005-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.