]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Tue, 27 May 2014 00:29:31 +0000 (00:29 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Tue, 27 May 2014 00:29:31 +0000 (00:29 +0000)
MagickCore/cache.c
MagickCore/morphology.c
MagickCore/pixel-accessor.h
MagickCore/statistic.c
MagickWand/pixel-wand.c
coders/label.c

index 9a7d559d6459ea49a4ddd9095d81a8fb1bec1ef9..024fe5e11bc0f4ff8c887223a1d402f5d05dbf9a 100644 (file)
@@ -693,8 +693,7 @@ static MagickBooleanType ClonePixelCacheRepository(
         if ((clone_nexus[id]->metacontent != (void *) NULL) &&
             (cache_nexus[id]->metacontent != (void *) NULL))
           (void) memcpy(clone_nexus[id]->metacontent,
-            cache_nexus[id]->metacontent,length*
-            sizeof(cache_nexus[id]->metacontent));
+            cache_nexus[id]->metacontent,length*sizeof(unsigned char));
         status=WritePixelCacheMetacontent(clone_info,clone_nexus[id],exception);
       }
     }
index c8859fcda8454a7c7fbc306797578b514d30ea5b..51aed6b0ea3bf20797a6e9c83ffc1b8b6b96a449 100644 (file)
@@ -2769,7 +2769,8 @@ static ssize_t MorphologyPrimitive(const Image *image,Image *morphology_image,
             if (fabs(pixel-p[center+i]) > MagickEpsilon)
               changes[id]++;
             gamma=PerceptibleReciprocal(gamma);
-            gamma*=(double) kernel->height*kernel->width/count;
+            if (count != 0)
+              gamma*=(double) kernel->height*kernel->width/count;
             SetPixelChannel(morphology_image,channel,ClampToQuantum(gamma*
               pixel),q);
           }
index d6054083ee1a37ba91a086dba01f89d496f23cad..b18d241718e78953dc03834b277bca79e783bbd3 100644 (file)
@@ -341,6 +341,8 @@ static inline PixelTrait GetPixelRedTraits(const Image *restrict image)
 static inline void GetPixelInfoPixel(const Image *restrict image,
   const Quantum *restrict pixel,PixelInfo *restrict pixel_info)
 {
+  pixel_info->colorspace=image->colorspace;
+  pixel_info->fuzz=image->fuzz;
   pixel_info->red=(MagickRealType)
     pixel[image->channel_map[RedPixelChannel].offset];
   pixel_info->green=(MagickRealType)
@@ -352,9 +354,13 @@ static inline void GetPixelInfoPixel(const Image *restrict image,
     pixel_info->black=(MagickRealType)
       pixel[image->channel_map[BlackPixelChannel].offset];
   pixel_info->alpha=(MagickRealType) OpaqueAlpha;
+  pixel_info->alpha_trait=MagickFalse;
   if (image->channel_map[AlphaPixelChannel].traits != UndefinedPixelTrait)
-    pixel_info->alpha=(MagickRealType)
-      pixel[image->channel_map[AlphaPixelChannel].offset];
+    {
+      pixel_info->alpha=(MagickRealType)
+        pixel[image->channel_map[AlphaPixelChannel].offset];
+      pixel_info->alpha_trait=MagickTrue;
+    }
   pixel_info->index=0.0f;
   if (image->channel_map[IndexPixelChannel].traits != UndefinedPixelTrait)
     pixel_info->index=(MagickRealType)
index 42ea5facbb4b210791e6c34bee856980f04092fb..20537a795e19b35e32f744e132ccc6b7a4a18daf 100644 (file)
@@ -1912,7 +1912,7 @@ static size_t GetImageChannels(const Image *image)
     if (traits != UndefinedPixelTrait)
       channels++;
   }
-  return(channels);
+  return(channels == 0 ? 1 : channels);
 }
 
 MagickExport ChannelStatistics *GetImageStatistics(const Image *image,
index cdb42733bc18dba043f29ba2d4b203d50497120e..d8dfa1b4a0e33b9b9b0b17d51bd4608a2f2d17f6 100644 (file)
@@ -1262,6 +1262,7 @@ WandExport void PixelGetQuantumPacket(const PixelWand *wand,PixelInfo *packet)
   if (wand->debug != MagickFalse)
     (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
   assert(packet != (PixelInfo *) NULL);
+  packet->fuzz=wand->pixel.fuzz;
   packet->alpha=(double) ClampToQuantum(wand->pixel.alpha);
   packet->alpha_trait=wand->pixel.alpha_trait;
   if (wand->pixel.colorspace == CMYKColorspace)
index 0e2162e8e556ae29da5977caec20f98e358ff9e4..67f0434a1bd303a6fef49fc08c1067d16dcc4c0e 100644 (file)
@@ -132,6 +132,7 @@ static Image *ReadLABELImage(const ImageInfo *image_info,
   draw_info=CloneDrawInfo(image_info,(DrawInfo *) NULL);
   draw_info->text=ConstantString(label);
   metrics.width=0;
+  metrics.ascent=0.0;
   status=GetMultilineTypeMetrics(image,draw_info,&metrics,exception);
   if ((image->columns == 0) && (image->rows == 0))
     {