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);
}
}
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);
}
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)
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)
if (traits != UndefinedPixelTrait)
channels++;
}
- return(channels);
+ return(channels == 0 ? 1 : channels);
}
MagickExport ChannelStatistics *GetImageStatistics(const Image *image,
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)
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))
{