]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Tue, 13 Sep 2011 01:06:17 +0000 (01:06 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Tue, 13 Sep 2011 01:06:17 +0000 (01:06 +0000)
MagickCore/fx.c
MagickCore/image.c
MagickCore/magick-config.h
MagickCore/pixel-accessor.h
MagickCore/version.h
PerlMagick/t/montage.t

index 78dce90459b3959f75b687ae92a3d2f8f23b4bb4..7c741a52e38f284a29bad0715ca7c9b7404990e6 100644 (file)
@@ -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);
index 2d40ec3ecb9082edb94abd7b4d592d2465ebf09d..6f7e8c512510e490640efd202550c0e54492b11b 100644 (file)
@@ -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)
index 1df0a4fa8362bb22daf93e4add282373eca63b0f..7de73722aaa8fc3169acf149cacf793cccdd77b5 100644 (file)
 #endif
 
 /* Define to 1 if you have the <CL/cl.h> 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 <complex.h> header file. */
 #ifndef MAGICKCORE_HAVE_COMPLEX_H
 /* #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. */
index 21ed444207d1f1915ede1fd43c03ca49bc694047..ddd798932008fd8277ad25fd1e583a36ce685504 100644 (file)
@@ -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)
index 0ae569747e1bde00a8d618e614eadaa2b20bec51..82a94e037e65dcc4d67ca02c5a86b83cce791dbb 100644 (file)
@@ -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)
index c9087e72833db7826ac03d6ca21e8f7e8b72d2e8..dca96cbd895b809fae9036856851ff772b69fa0e 100644 (file)
@@ -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');
 
 #