From 38b17b7843b074add9afd58d437760b16cf92a66 Mon Sep 17 00:00:00 2001 From: cristy Date: Sat, 27 Apr 2013 00:26:16 +0000 Subject: [PATCH] --- MagickCore/effect.c | 34 +++++++--------------------------- 1 file changed, 7 insertions(+), 27 deletions(-) diff --git a/MagickCore/effect.c b/MagickCore/effect.c index 79ca24221..6ec08f340 100644 --- a/MagickCore/effect.c +++ b/MagickCore/effect.c @@ -1206,17 +1206,14 @@ MagickExport Image *DespeckleImage(const Image *image,ExceptionInfo *exception) MagickExport Image *EdgeImage(const Image *image,const double radius, ExceptionInfo *exception) { - Image - *edge_image; + char + geometry[MaxTextExtent]; KernelInfo *kernel_info; - register ssize_t - i; - - size_t - width; + Image + *edge_image; assert(image != (const Image *) NULL); assert(image->signature == MagickSignature); @@ -1224,28 +1221,11 @@ MagickExport Image *EdgeImage(const Image *image,const double radius, (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); assert(exception != (ExceptionInfo *) NULL); assert(exception->signature == MagickSignature); - width=GetOptimalKernelWidth1D(radius,0.5); - kernel_info=AcquireKernelInfo((const char *) NULL); + (void) FormatLocaleString(geometry,MaxTextExtent,"square:%.20g",radius); + kernel_info=AcquireKernelInfo(geometry); if (kernel_info == (KernelInfo *) NULL) ThrowImageException(ResourceLimitError,"MemoryAllocationFailed"); - (void) ResetMagickMemory(kernel_info,0,sizeof(*kernel_info)); - kernel_info->width=width; - kernel_info->height=width; - kernel_info->x=(ssize_t) (width-1)/2; - kernel_info->y=(ssize_t) (width-1)/2; - kernel_info->signature=MagickSignature; - kernel_info->values=(MagickRealType *) MagickAssumeAligned( - AcquireAlignedMemory(kernel_info->width,kernel_info->height* - sizeof(*kernel_info->values))); - if (kernel_info->values == (MagickRealType *) NULL) - { - kernel_info=DestroyKernelInfo(kernel_info); - ThrowImageException(ResourceLimitError,"MemoryAllocationFailed"); - } - for (i=0; i < (ssize_t) (kernel_info->width*kernel_info->height); i++) - kernel_info->values[i]=(-1.0); - kernel_info->values[i/2]=(double) kernel_info->width*kernel_info->height-1.0; - edge_image=MorphologyApply(image,ConvolveMorphology,1,kernel_info, + edge_image=MorphologyApply(image,EdgeInMorphology,1,kernel_info, UndefinedCompositeOp,0.0,exception); kernel_info=DestroyKernelInfo(kernel_info); return(edge_image); -- 2.50.1