]> granicus.if.org Git - imagemagick/blobdiff - MagickCore/decorate.c
(no commit message)
[imagemagick] / MagickCore / decorate.c
index e6751059c631a63cab60c92ab3d22b41640ce690..bc4d90bcedf4133d07fc20ef72cc76e27c263b77 100644 (file)
@@ -220,9 +220,8 @@ MagickExport Image *FrameImage(const Image *image,const FrameInfo *frame_info,
     exception);
   if (frame_image == (Image *) NULL)
     return((Image *) NULL);
-  if (SetImageStorageClass(frame_image,DirectClass) == MagickFalse)
+  if (SetImageStorageClass(frame_image,DirectClass,exception) == MagickFalse)
     {
-      InheritException(exception,&frame_image->exception);
       frame_image=DestroyImage(frame_image);
       return((Image *) NULL);
     }
@@ -313,12 +312,12 @@ MagickExport Image *FrameImage(const Image *image,const FrameInfo *frame_info,
                 SetPixelPixelInfo(frame_image,&highlight,q);
               else
                 SetPixelPixelInfo(frame_image,&accentuate,q);
-              q+=GetPixelComponents(frame_image);
+              q+=GetPixelChannels(frame_image);
             }
             for ( ; x < (ssize_t) frame_image->columns; x++)
             {
               SetPixelPixelInfo(frame_image,&shadow,q);
-              q+=GetPixelComponents(frame_image);
+              q+=GetPixelChannels(frame_image);
             }
           }
           for (y=0; y < (ssize_t) (frame_info->y-bevel_width); y++)
@@ -326,18 +325,18 @@ MagickExport Image *FrameImage(const Image *image,const FrameInfo *frame_info,
             for (x=0; x < (ssize_t) frame_info->outer_bevel; x++)
             {
               SetPixelPixelInfo(frame_image,&highlight,q);
-              q+=GetPixelComponents(frame_image);
+              q+=GetPixelChannels(frame_image);
             }
             width=frame_image->columns-2*frame_info->outer_bevel;
             for (x=0; x < (ssize_t) width; x++)
             {
               SetPixelPixelInfo(frame_image,&matte,q);
-              q+=GetPixelComponents(frame_image);
+              q+=GetPixelChannels(frame_image);
             }
             for (x=0; x < (ssize_t) frame_info->outer_bevel; x++)
             {
               SetPixelPixelInfo(frame_image,&shadow,q);
-              q+=GetPixelComponents(frame_image);
+              q+=GetPixelChannels(frame_image);
             }
           }
           for (y=0; y < (ssize_t) frame_info->inner_bevel; y++)
@@ -345,12 +344,12 @@ MagickExport Image *FrameImage(const Image *image,const FrameInfo *frame_info,
             for (x=0; x < (ssize_t) frame_info->outer_bevel; x++)
             {
               SetPixelPixelInfo(frame_image,&highlight,q);
-              q+=GetPixelComponents(frame_image);
+              q+=GetPixelChannels(frame_image);
             }
             for (x=0; x < (ssize_t) (frame_info->x-bevel_width); x++)
             {
               SetPixelPixelInfo(frame_image,&matte,q);
-              q+=GetPixelComponents(frame_image);
+              q+=GetPixelChannels(frame_image);
             }
             width=image->columns+((size_t) frame_info->inner_bevel << 1)-
               y;
@@ -360,23 +359,23 @@ MagickExport Image *FrameImage(const Image *image,const FrameInfo *frame_info,
                 SetPixelPixelInfo(frame_image,&shadow,q);
               else
                 SetPixelPixelInfo(frame_image,&trough,q);
-              q+=GetPixelComponents(frame_image);
+              q+=GetPixelChannels(frame_image);
             }
             for ( ; x < (ssize_t) (image->columns+2*frame_info->inner_bevel); x++)
             {
               SetPixelPixelInfo(frame_image,&highlight,q);
-              q+=GetPixelComponents(frame_image);
+              q+=GetPixelChannels(frame_image);
             }
             width=frame_info->width-frame_info->x-image->columns-bevel_width;
             for (x=0; x < (ssize_t) width; x++)
             {
               SetPixelPixelInfo(frame_image,&matte,q);
-              q+=GetPixelComponents(frame_image);
+              q+=GetPixelChannels(frame_image);
             }
             for (x=0; x < (ssize_t) frame_info->outer_bevel; x++)
             {
               SetPixelPixelInfo(frame_image,&shadow,q);
-              q+=GetPixelComponents(frame_image);
+              q+=GetPixelChannels(frame_image);
             }
           }
           (void) SyncCacheViewAuthenticPixels(frame_view,exception);
@@ -411,17 +410,17 @@ MagickExport Image *FrameImage(const Image *image,const FrameInfo *frame_info,
     for (x=0; x < (ssize_t) frame_info->outer_bevel; x++)
     {
       SetPixelPixelInfo(frame_image,&highlight,q);
-      q+=GetPixelComponents(frame_image);
+      q+=GetPixelChannels(frame_image);
     }
     for (x=0; x < (ssize_t) (frame_info->x-bevel_width); x++)
     {
       SetPixelPixelInfo(frame_image,&matte,q);
-      q+=GetPixelComponents(frame_image);
+      q+=GetPixelChannels(frame_image);
     }
     for (x=0; x < (ssize_t) frame_info->inner_bevel; x++)
     {
       SetPixelPixelInfo(frame_image,&shadow,q);
-      q+=GetPixelComponents(frame_image);
+      q+=GetPixelChannels(frame_image);
     }
     /*
       Set frame interior to interior color.
@@ -431,7 +430,7 @@ MagickExport Image *FrameImage(const Image *image,const FrameInfo *frame_info,
       for (x=0; x < (ssize_t) image->columns; x++)
       {
         SetPixelPixelInfo(frame_image,&interior,q);
-        q+=GetPixelComponents(frame_image);
+        q+=GetPixelChannels(frame_image);
       }
     else
       {
@@ -452,25 +451,25 @@ MagickExport Image *FrameImage(const Image *image,const FrameInfo *frame_info,
           if (image->colorspace == CMYKColorspace)
             SetPixelBlack(frame_image,GetPixelBlack(image,p),q);
           SetPixelAlpha(frame_image,GetPixelAlpha(image,p),q);
-          p+=GetPixelComponents(image);
-          q+=GetPixelComponents(frame_image);
+          p+=GetPixelChannels(image);
+          q+=GetPixelChannels(frame_image);
         }
       }
     for (x=0; x < (ssize_t) frame_info->inner_bevel; x++)
     {
       SetPixelPixelInfo(frame_image,&highlight,q);
-      q+=GetPixelComponents(frame_image);
+      q+=GetPixelChannels(frame_image);
     }
     width=frame_info->width-frame_info->x-image->columns-bevel_width;
     for (x=0; x < (ssize_t) width; x++)
     {
       SetPixelPixelInfo(frame_image,&matte,q);
-      q+=GetPixelComponents(frame_image);
+      q+=GetPixelChannels(frame_image);
     }
     for (x=0; x < (ssize_t) frame_info->outer_bevel; x++)
     {
       SetPixelPixelInfo(frame_image,&shadow,q);
-      q+=GetPixelComponents(frame_image);
+      q+=GetPixelChannels(frame_image);
     }
     if (SyncCacheViewAuthenticPixels(frame_view,exception) == MagickFalse)
       status=MagickFalse;
@@ -512,17 +511,17 @@ MagickExport Image *FrameImage(const Image *image,const FrameInfo *frame_info,
             for (x=0; x < (ssize_t) frame_info->outer_bevel; x++)
             {
               SetPixelPixelInfo(frame_image,&highlight,q);
-              q+=GetPixelComponents(frame_image);
+              q+=GetPixelChannels(frame_image);
             }
             for (x=0; x < (ssize_t) (frame_info->x-bevel_width); x++)
             {
               SetPixelPixelInfo(frame_image,&matte,q);
-              q+=GetPixelComponents(frame_image);
+              q+=GetPixelChannels(frame_image);
             }
             for (x=0; x < y; x++)
             {
               SetPixelPixelInfo(frame_image,&shadow,q);
-              q+=GetPixelComponents(frame_image);
+              q+=GetPixelChannels(frame_image);
             }
             for ( ; x < (ssize_t) (image->columns+2*frame_info->inner_bevel); x++)
             {
@@ -530,18 +529,18 @@ MagickExport Image *FrameImage(const Image *image,const FrameInfo *frame_info,
                 SetPixelPixelInfo(frame_image,&highlight,q);
               else
                 SetPixelPixelInfo(frame_image,&accentuate,q);
-              q+=GetPixelComponents(frame_image);
+              q+=GetPixelChannels(frame_image);
             }
             width=frame_info->width-frame_info->x-image->columns-bevel_width;
             for (x=0; x < (ssize_t) width; x++)
             {
               SetPixelPixelInfo(frame_image,&matte,q);
-              q+=GetPixelComponents(frame_image);
+              q+=GetPixelChannels(frame_image);
             }
             for (x=0; x < (ssize_t) frame_info->outer_bevel; x++)
             {
               SetPixelPixelInfo(frame_image,&shadow,q);
-              q+=GetPixelComponents(frame_image);
+              q+=GetPixelChannels(frame_image);
             }
           }
           height=frame_info->height-frame_info->y-image->rows-bevel_width;
@@ -550,18 +549,18 @@ MagickExport Image *FrameImage(const Image *image,const FrameInfo *frame_info,
             for (x=0; x < (ssize_t) frame_info->outer_bevel; x++)
             {
               SetPixelPixelInfo(frame_image,&highlight,q);
-              q+=GetPixelComponents(frame_image);
+              q+=GetPixelChannels(frame_image);
             }
             width=frame_image->columns-2*frame_info->outer_bevel;
             for (x=0; x < (ssize_t) width; x++)
             {
               SetPixelPixelInfo(frame_image,&matte,q);
-              q+=GetPixelComponents(frame_image);
+              q+=GetPixelChannels(frame_image);
             }
             for (x=0; x < (ssize_t) frame_info->outer_bevel; x++)
             {
               SetPixelPixelInfo(frame_image,&shadow,q);
-              q+=GetPixelComponents(frame_image);
+              q+=GetPixelChannels(frame_image);
             }
           }
           for (y=frame_info->outer_bevel-1; y >= 0; y--)
@@ -569,7 +568,7 @@ MagickExport Image *FrameImage(const Image *image,const FrameInfo *frame_info,
             for (x=0; x < y; x++)
             {
               SetPixelPixelInfo(frame_image,&highlight,q);
-              q+=GetPixelComponents(frame_image);
+              q+=GetPixelChannels(frame_image);
             }
             for ( ; x < (ssize_t) frame_image->columns; x++)
             {
@@ -577,7 +576,7 @@ MagickExport Image *FrameImage(const Image *image,const FrameInfo *frame_info,
                 SetPixelPixelInfo(frame_image,&shadow,q);
               else
                 SetPixelPixelInfo(frame_image,&trough,q);
-              q+=GetPixelComponents(frame_image);
+              q+=GetPixelChannels(frame_image);
             }
           }
           (void) SyncCacheViewAuthenticPixels(frame_view,exception);
@@ -616,7 +615,8 @@ MagickExport Image *FrameImage(const Image *image,const FrameInfo *frame_info,
 %  The format of the RaiseImage method is:
 %
 %      MagickBooleanType RaiseImage(const Image *image,
-%        const RectangleInfo *raise_info,const MagickBooleanType raise)
+%        const RectangleInfo *raise_info,const MagickBooleanType raise,
+%        ExceptionInfo *exception)
 %
 %  A description of each parameter follows:
 %
@@ -627,9 +627,12 @@ MagickExport Image *FrameImage(const Image *image,const FrameInfo *frame_info,
 %    o raise: A value other than zero creates a 3-D raise effect,
 %      otherwise it has a lowered effect.
 %
+%    o exception: return any errors or warnings in this structure.
+%
 */
 MagickExport MagickBooleanType RaiseImage(Image *image,
-  const RectangleInfo *raise_info,const MagickBooleanType raise)
+  const RectangleInfo *raise_info,const MagickBooleanType raise,
+  ExceptionInfo *exception)
 {
 #define AccentuateFactor  ScaleCharToQuantum(135)
 #define HighlightFactor  ScaleCharToQuantum(190)
@@ -640,9 +643,6 @@ MagickExport MagickBooleanType RaiseImage(Image *image,
   CacheView
     *image_view;
 
-  ExceptionInfo
-    *exception;
-
   MagickBooleanType
     status;
 
@@ -672,21 +672,24 @@ MagickExport MagickBooleanType RaiseImage(Image *image,
       foreground=(Quantum) 0;
       background=(Quantum) QuantumRange;
     }
-  if (SetImageStorageClass(image,DirectClass) == MagickFalse)
+  if (SetImageStorageClass(image,DirectClass,exception) == MagickFalse)
     return(MagickFalse);
   /*
     Raise image.
   */
   status=MagickTrue;
   progress=0;
-  exception=(&image->exception);
   image_view=AcquireCacheView(image);
 #if defined(MAGICKCORE_OPENMP_SUPPORT) 
   #pragma omp parallel for schedule(dynamic,4) shared(progress,status) omp_throttle(1)
 #endif
   for (y=0; y < (ssize_t) raise_info->height; y++)
   {
+    PixelTrait
+      traits;
+
     register ssize_t
+      i,
       x;
 
     register Quantum
@@ -702,42 +705,39 @@ MagickExport MagickBooleanType RaiseImage(Image *image,
       }
     for (x=0; x < y; x++)
     {
-      SetPixelRed(image,ClampToQuantum(QuantumScale*((MagickRealType)
-        GetPixelRed(image,q)*HighlightFactor+(MagickRealType) foreground*
-        (QuantumRange-HighlightFactor))),q);
-      SetPixelGreen(image,ClampToQuantum(QuantumScale*((MagickRealType)
-        GetPixelGreen(image,q)*HighlightFactor+(MagickRealType) foreground*
-        (QuantumRange-HighlightFactor))),q);
-      SetPixelBlue(image,ClampToQuantum(QuantumScale*((MagickRealType)
-        GetPixelBlue(image,q)*HighlightFactor+(MagickRealType) foreground*
-        (QuantumRange-HighlightFactor))),q);
-      q+=GetPixelComponents(image);
+      for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
+      {
+        traits=GetPixelChannelMapTraits(image,(PixelChannel) i);
+        if ((traits & UpdatePixelTrait) != 0)
+          q[i]=ClampToQuantum(QuantumScale*((MagickRealType) q[i]*
+            HighlightFactor+(MagickRealType) foreground*(QuantumRange-
+            HighlightFactor)));
+      }
+      q+=GetPixelChannels(image);
     }
     for ( ; x < (ssize_t) (image->columns-y); x++)
     {
-      SetPixelRed(image,ClampToQuantum(QuantumScale*((MagickRealType)
-        GetPixelRed(image,q)*AccentuateFactor+(MagickRealType) foreground*
-        (QuantumRange-AccentuateFactor))),q);
-      SetPixelGreen(image,ClampToQuantum(QuantumScale*((MagickRealType)
-        GetPixelGreen(image,q)*AccentuateFactor+(MagickRealType) foreground*
-        (QuantumRange-AccentuateFactor))),q);
-      SetPixelBlue(image,ClampToQuantum(QuantumScale*((MagickRealType)
-        GetPixelBlue(image,q)*AccentuateFactor+(MagickRealType) foreground*
-        (QuantumRange-AccentuateFactor))),q);
-      q+=GetPixelComponents(image);
+      for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
+      {
+        traits=GetPixelChannelMapTraits(image,(PixelChannel) i);
+        if ((traits & UpdatePixelTrait) != 0)
+          q[i]=ClampToQuantum(QuantumScale*((MagickRealType) q[i]*
+            AccentuateFactor+(MagickRealType) foreground*(QuantumRange-
+            AccentuateFactor)));
+      }
+      q+=GetPixelChannels(image);
     }
     for ( ; x < (ssize_t) image->columns; x++)
     {
-      SetPixelRed(image,ClampToQuantum(QuantumScale*((MagickRealType)
-        GetPixelRed(image,q)*ShadowFactor+(MagickRealType) background*
-        (QuantumRange-ShadowFactor))),q);
-      SetPixelGreen(image,ClampToQuantum(QuantumScale*((MagickRealType)
-        GetPixelGreen(image,q)*ShadowFactor+(MagickRealType) background*
-        (QuantumRange-ShadowFactor))),q);
-      SetPixelBlue(image,ClampToQuantum(QuantumScale*((MagickRealType)
-        GetPixelBlue(image,q)*ShadowFactor+(MagickRealType) background*
-        (QuantumRange-ShadowFactor))),q);
-      q+=GetPixelComponents(image);
+      for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
+      {
+        traits=GetPixelChannelMapTraits(image,(PixelChannel) i);
+        if ((traits & UpdatePixelTrait) != 0)
+          q[i]=ClampToQuantum(QuantumScale*((MagickRealType) q[i]*
+            ShadowFactor+(MagickRealType) background*(QuantumRange-
+            ShadowFactor)));
+      }
+      q+=GetPixelChannels(image);
     }
     if (SyncCacheViewAuthenticPixels(image_view,exception) == MagickFalse)
       status=MagickFalse;
@@ -756,7 +756,11 @@ MagickExport MagickBooleanType RaiseImage(Image *image,
 #endif
   for (y=(ssize_t) raise_info->height; y < (ssize_t) (image->rows-raise_info->height); y++)
   {
+    PixelTrait
+      traits;
+
     register ssize_t
+      i,
       x;
 
     register Quantum
@@ -772,31 +776,29 @@ MagickExport MagickBooleanType RaiseImage(Image *image,
       }
     for (x=0; x < (ssize_t) raise_info->width; x++)
     {
-      SetPixelRed(image,ClampToQuantum(QuantumScale*((MagickRealType)
-        GetPixelRed(image,q)*HighlightFactor+(MagickRealType) foreground*
-        (QuantumRange-HighlightFactor))),q);
-      SetPixelGreen(image,ClampToQuantum(QuantumScale*((MagickRealType)
-        GetPixelGreen(image,q)*HighlightFactor+(MagickRealType) foreground*
-        (QuantumRange-HighlightFactor))),q);
-      SetPixelBlue(image,ClampToQuantum(QuantumScale*((MagickRealType)
-        GetPixelBlue(image,q)*HighlightFactor+(MagickRealType) foreground*
-        (QuantumRange-HighlightFactor))),q);
-      q+=GetPixelComponents(image);
+      for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
+      {
+        traits=GetPixelChannelMapTraits(image,(PixelChannel) i);
+        if ((traits & UpdatePixelTrait) != 0)
+          q[i]=ClampToQuantum(QuantumScale*((MagickRealType) q[i]*
+            HighlightFactor+(MagickRealType) foreground*(QuantumRange-
+            HighlightFactor)));
+      }
+      q+=GetPixelChannels(image);
     }
     for ( ; x < (ssize_t) (image->columns-raise_info->width); x++)
-      q+=GetPixelComponents(image);
+      q+=GetPixelChannels(image);
     for ( ; x < (ssize_t) image->columns; x++)
     {
-      SetPixelRed(image,ClampToQuantum(QuantumScale*((MagickRealType)
-        GetPixelRed(image,q)*ShadowFactor+(MagickRealType) background*
-        (QuantumRange-ShadowFactor))),q);
-      SetPixelGreen(image,ClampToQuantum(QuantumScale*((MagickRealType)
-        GetPixelGreen(image,q)*ShadowFactor+(MagickRealType) background*
-        (QuantumRange-ShadowFactor))),q);
-      SetPixelBlue(image,ClampToQuantum(QuantumScale*((MagickRealType)
-        GetPixelBlue(image,q)*ShadowFactor+(MagickRealType) background*
-        (QuantumRange-ShadowFactor))),q);
-      q+=GetPixelComponents(image);
+      for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
+      {
+        traits=GetPixelChannelMapTraits(image,(PixelChannel) i);
+        if ((traits & UpdatePixelTrait) != 0)
+          q[i]=ClampToQuantum(QuantumScale*((MagickRealType) q[i]*
+            ShadowFactor+(MagickRealType) background*(QuantumRange-
+            ShadowFactor)));
+      }
+      q+=GetPixelChannels(image);
     }
     if (SyncCacheViewAuthenticPixels(image_view,exception) == MagickFalse)
       status=MagickFalse;
@@ -815,7 +817,11 @@ MagickExport MagickBooleanType RaiseImage(Image *image,
 #endif
   for (y=(ssize_t) (image->rows-raise_info->height); y < (ssize_t) image->rows; y++)
   {
+    PixelTrait
+      traits;
+
     register ssize_t
+      i,
       x;
 
     register Quantum
@@ -831,42 +837,39 @@ MagickExport MagickBooleanType RaiseImage(Image *image,
       }
     for (x=0; x < (ssize_t) (image->rows-y); x++)
     {
-      SetPixelRed(image,ClampToQuantum(QuantumScale*((MagickRealType)
-        GetPixelRed(image,q)*HighlightFactor+(MagickRealType) foreground*
-        (QuantumRange-HighlightFactor))),q);
-      SetPixelGreen(image,ClampToQuantum(QuantumScale*((MagickRealType)
-        GetPixelGreen(image,q)*HighlightFactor+(MagickRealType) foreground*
-        (QuantumRange-HighlightFactor))),q);
-      SetPixelBlue(image,ClampToQuantum(QuantumScale*((MagickRealType)
-        GetPixelBlue(image,q)*HighlightFactor+(MagickRealType) foreground*
-        (QuantumRange-HighlightFactor))),q);
-      q+=GetPixelComponents(image);
+      for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
+      {
+        traits=GetPixelChannelMapTraits(image,(PixelChannel) i);
+        if ((traits & UpdatePixelTrait) != 0)
+          q[i]=ClampToQuantum(QuantumScale*((MagickRealType) q[i]*
+            HighlightFactor+(MagickRealType) foreground*(QuantumRange-
+            HighlightFactor)));
+      }
+      q+=GetPixelChannels(image);
     }
     for ( ; x < (ssize_t) (image->columns-(image->rows-y)); x++)
     {
-      SetPixelRed(image,ClampToQuantum(QuantumScale*((MagickRealType)
-        GetPixelRed(image,q)*TroughFactor+(MagickRealType) background*
-        (QuantumRange-TroughFactor))),q);
-      SetPixelGreen(image,ClampToQuantum(QuantumScale*((MagickRealType)
-        GetPixelGreen(image,q)*TroughFactor+(MagickRealType) background*
-        (QuantumRange-TroughFactor))),q);
-      SetPixelBlue(image,ClampToQuantum(QuantumScale*((MagickRealType)
-        GetPixelBlue(image,q)*TroughFactor+(MagickRealType) background*
-        (QuantumRange-TroughFactor))),q);
-      q+=GetPixelComponents(image);
+      for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
+      {
+        traits=GetPixelChannelMapTraits(image,(PixelChannel) i);
+        if ((traits & UpdatePixelTrait) != 0)
+          q[i]=ClampToQuantum(QuantumScale*((MagickRealType) q[i]*
+            TroughFactor+(MagickRealType) background*(QuantumRange-
+            TroughFactor)));
+      }
+      q+=GetPixelChannels(image);
     }
     for ( ; x < (ssize_t) image->columns; x++)
     {
-      SetPixelRed(image,ClampToQuantum(QuantumScale*((MagickRealType)
-        GetPixelRed(image,q)*ShadowFactor+(MagickRealType) background*
-        (QuantumRange-ShadowFactor))),q);
-      SetPixelGreen(image,ClampToQuantum(QuantumScale*((MagickRealType)
-        GetPixelGreen(image,q)*ShadowFactor+(MagickRealType) background*
-        (QuantumRange-ShadowFactor))),q);
-      SetPixelBlue(image,ClampToQuantum(QuantumScale*((MagickRealType)
-        GetPixelBlue(image,q)*ShadowFactor+(MagickRealType) background*
-        (QuantumRange-ShadowFactor))),q);
-      q+=GetPixelComponents(image);
+      for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
+      {
+        traits=GetPixelChannelMapTraits(image,(PixelChannel) i);
+        if ((traits & UpdatePixelTrait) != 0)
+          q[i]=ClampToQuantum(QuantumScale*((MagickRealType) q[i]*
+            ShadowFactor+(MagickRealType) background*(QuantumRange-
+            ShadowFactor)));
+      }
+      q+=GetPixelChannels(image);
     }
     if (SyncCacheViewAuthenticPixels(image_view,exception) == MagickFalse)
       status=MagickFalse;