From: cristy Date: Sun, 26 Dec 2010 19:57:38 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~8345 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4c5686fa617a8e14b2fd8289fb5072c3e5055986;p=imagemagick --- diff --git a/ChangeLog b/ChangeLog index b1f547528..8263f5d4b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2010-12-26 6.6.6-8 Cristy + * -posterize fails with more than 40 levels (reference + http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=17741). + 2010-12-21 6.6.6-7 Glenn Randers-Pehrson * Use a clone instead of the main image in coders/png.c, so the image can still be used later on without being affected by changes made by diff --git a/magick/quantize.c b/magick/quantize.c index bd950152e..91501fc2d 100644 --- a/magick/quantize.c +++ b/magick/quantize.c @@ -2210,7 +2210,7 @@ MagickExport MagickBooleanType PosterizeImage(Image *image, *restrict q; size_t - length; + extent; /* Posterize image. @@ -2222,17 +2222,16 @@ MagickExport MagickBooleanType PosterizeImage(Image *image, posterize_image=AcquireImage((ImageInfo *) NULL); if (posterize_image == (Image *) NULL) return(MagickFalse); - l=1; - length=(size_t) (levels*levels*levels); - while ((l*l*l) < (ssize_t) MagickMin((ssize_t) length,MaxColormapSize+1)) - l++; + extent=MagickMin(levels*levels*levels,MaxColormapSize+1); + for (l=1; (l*l*l) < (ssize_t) extent; l++) ; + l--; status=SetImageExtent(posterize_image,(size_t) (l*l*l),1); if (status == MagickFalse) { posterize_image=DestroyImage(posterize_image); return(MagickFalse); } - status=AcquireImageColormap(posterize_image,levels*levels*levels); + status=AcquireImageColormap(posterize_image,l*l*l); if (status == MagickFalse) { posterize_image=DestroyImage(posterize_image); diff --git a/www/magick++.html b/www/magick++.html new file mode 100644 index 000000000..e69de29bb