From: cristy Date: Tue, 13 Sep 2011 01:06:17 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~7013 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fe5faaaa4f43b5897166981cc93b24a6a2ab584e;p=imagemagick --- diff --git a/MagickCore/fx.c b/MagickCore/fx.c index 78dce9045..7c741a52e 100644 --- a/MagickCore/fx.c +++ b/MagickCore/fx.c @@ -4136,9 +4136,6 @@ MagickExport Image *ShadowImage(const Image *image,const double opacity, { #define ShadowImageTag "Shadow/Image" - CacheView - *border_view; - ChannelType channel_mask; @@ -4147,18 +4144,9 @@ MagickExport Image *ShadowImage(const Image *image,const double opacity, *clone_image, *shadow_image; - MagickBooleanType - status; - - MagickOffsetType - progress; - RectangleInfo border_info; - ssize_t - y; - assert(image != (Image *) NULL); assert(image->signature == MagickSignature); if (image->debug != MagickFalse) @@ -4184,58 +4172,7 @@ MagickExport Image *ShadowImage(const Image *image,const double opacity, /* Shadow image. */ - status=MagickTrue; - progress=0; - border_view=AcquireCacheView(border_image); -#if defined(MAGICKCORE_OPENMP_SUPPORT) - #pragma omp parallel for schedule(dynamic,4) shared(progress,status) -#endif - for (y=0; y < (ssize_t) border_image->rows; y++) - { - register ssize_t - x; - - register Quantum - *restrict q; - - if (status == MagickFalse) - continue; - q=GetCacheViewAuthenticPixels(border_view,0,y,border_image->columns,1, - exception); - if (q == (Quantum *) NULL) - { - status=MagickFalse; - continue; - } - for (x=0; x < (ssize_t) border_image->columns; x++) - { - SetPixelRed(border_image,border_image->background_color.red,q); - SetPixelGreen(border_image,border_image->background_color.green,q); - SetPixelBlue(border_image,border_image->background_color.blue,q); - if (border_image->matte == MagickFalse) - SetPixelAlpha(border_image,border_image->background_color.alpha,q); - else - SetPixelAlpha(border_image,ClampToQuantum((MagickRealType) - (GetPixelAlpha(border_image,q)*opacity/100.0)),q); - q+=GetPixelChannels(border_image); - } - if (SyncCacheViewAuthenticPixels(border_view,exception) == MagickFalse) - status=MagickFalse; - if (border_image->progress_monitor != (MagickProgressMonitor) NULL) - { - MagickBooleanType - proceed; - -#if defined(MAGICKCORE_OPENMP_SUPPORT) - #pragma omp critical (MagickCore_ShadowImage) -#endif - proceed=SetImageProgress(border_image,ShadowImageTag,progress++, - border_image->rows); - if (proceed == MagickFalse) - status=MagickFalse; - } - } - border_view=DestroyCacheView(border_view); + SetImageBackgroundColor(border_image); channel_mask=SetPixelChannelMask(border_image,AlphaChannel); shadow_image=BlurImage(border_image,0.0,sigma,image->bias,exception); (void) SetPixelChannelMap(border_image,channel_mask); diff --git a/MagickCore/image.c b/MagickCore/image.c index 2d40ec3ec..6f7e8c512 100644 --- a/MagickCore/image.c +++ b/MagickCore/image.c @@ -2756,9 +2756,16 @@ MagickExport MagickBooleanType SetImageBackgroundColor(Image *image) } for (x=0; x < (ssize_t) image->columns; x++) { - SetPixelPacket(image,&pixel,q); - if (image->colorspace == CMYKColorspace) - SetPixelBlack(image,pixel.black,q); + if ((GetPixelRedTraits(image) & UpdatePixelTrait) != 0) + SetPixelRed(image,ClampToQuantum(background.red),q); + if ((GetPixelGreenTraits(image) & UpdatePixelTrait) != 0) + SetPixelGreen(image,ClampToQuantum(background.green),q); + if ((GetPixelBlueTraits(image) & UpdatePixelTrait) != 0) + SetPixelBlue(image,ClampToQuantum(background.blue),q); + if ((GetPixelBlackTraits(image) & UpdatePixelTrait) != 0) + SetPixelBlack(image,ClampToQuantum(background.black),q); + if ((GetPixelAlphaTraits(image) & CopyPixelTrait) != 0) + SetPixelAlpha(image,ClampToQuantum(background.alpha),q); q+=GetPixelChannels(image); } if (SyncCacheViewAuthenticPixels(image_view,exception) == MagickFalse) diff --git a/MagickCore/magick-config.h b/MagickCore/magick-config.h index 1df0a4fa8..7de73722a 100644 --- a/MagickCore/magick-config.h +++ b/MagickCore/magick-config.h @@ -224,7 +224,9 @@ #endif /* Define to 1 if you have the header file. */ -/* #undef HAVE_CL_CL_H */ +#ifndef MAGICKCORE_HAVE_CL_CL_H +#define MAGICKCORE_HAVE_CL_CL_H 1 +#endif /* Define to 1 if you have the header file. */ #ifndef MAGICKCORE_HAVE_COMPLEX_H @@ -1525,7 +1527,9 @@ /* #undef _MINIX */ /* Define this for the OpenCL Accelerator */ -/* #undef _OPENCL */ +#ifndef MAGICKCORE__OPENCL +#define MAGICKCORE__OPENCL 1 +#endif /* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ diff --git a/MagickCore/pixel-accessor.h b/MagickCore/pixel-accessor.h index 21ed44420..ddd798932 100644 --- a/MagickCore/pixel-accessor.h +++ b/MagickCore/pixel-accessor.h @@ -646,8 +646,7 @@ static inline void SetPixelPixelInfo(const Image *image, static inline void SetPixelYellow(const Image *image,const Quantum yellow, Quantum *pixel) { - pixel[image->channel_map[YellowPixelChannel].channel]= - yellow; + pixel[image->channel_map[YellowPixelChannel].channel]=yellow; } static inline void SetPixelYellowTraits(Image *image,const PixelTrait traits) diff --git a/MagickCore/version.h b/MagickCore/version.h index 0ae569747..82a94e037 100644 --- a/MagickCore/version.h +++ b/MagickCore/version.h @@ -34,7 +34,7 @@ extern "C" { #define MagickLibAddendum "-0" #define MagickLibInterface 7 #define MagickLibMinInterface 7 -#define MagickReleaseDate "2011-09-11" +#define MagickReleaseDate "2011-09-12" #define MagickChangeDate "20110801" #define MagickAuthoritativeURL "http://www.imagemagick.org" #if defined(MAGICKCORE_OPENMP_SUPPORT) diff --git a/PerlMagick/t/montage.t b/PerlMagick/t/montage.t index c9087e728..dca96cbd8 100644 --- a/PerlMagick/t/montage.t +++ b/PerlMagick/t/montage.t @@ -154,7 +154,7 @@ testMontage( q/bordercolor=>'blue', mattecolor=>'red'/, q/background=>'#696e7e', label=>'', tile=>'4x4', geometry=>'90x80+6+6>', frame=>'8x10', borderwidth=>'0', gravity=>'Center', shadow=>'True',background=>'gray'/, '61645a8c80a7220a4260133a2b1ae720bf2755f2ed880a3fef0e9453641f5b79', - '9ec1ec229079b7526bb89876a0009994dfdb96186c9e1892100c7ca52b21c090', + '9b79aaef1d4914dccd7f3b56fec025452878fbece244ab6613c4e17e6e284bec', '105eede4ff37f8067fed104dd42feea9eff899caf872e7f11316d33ca02ecbf6'); # @@ -165,7 +165,7 @@ testMontage( q/bordercolor=>'blue', mattecolor=>'red'/, q/background=>'#696e7e', label=>'', tile=>'4x4', geometry=>'90x80+6+6>', frame=>'8x10', borderwidth=>'0', gravity=>'Center', shadow=>'True', texture=>'granite:'/, '4655b59218afbd58d24a9ecf162a42868b3de40ecc8e9f9671dccf8b17e1aa33', - 'a995c2de45028cf28077e281ca5dd5114a98df62fc578a142c8dcd9be5be3bdd', + 'bb8c28e16449eeb4c69b81ab809a9f83e7fb3cc78b0b6a0d07c2964a49865a6c', 'd2413f59b630f2fd5ad4416f441cdb3b839765c4da8f2fe4210ceecefc0c8716'); #