From: cristy Date: Sat, 27 Aug 2011 01:34:00 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~7138 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4a4f33e4c1a4263e7fc8db979f0c8f0073076b47;p=imagemagick --- diff --git a/MagickCore/resize.c b/MagickCore/resize.c index d5e6d732e..ee0e24ddc 100644 --- a/MagickCore/resize.c +++ b/MagickCore/resize.c @@ -3067,8 +3067,8 @@ MagickExport Image *ScaleImage(const Image *image,const size_t columns, alpha=QuantumScale*scanline[x*GetPixelChannels(image)+ GetPixelChannelMapChannel(image,AlphaPixelChannel)]; gamma=1.0/(fabs((double) alpha) <= MagickEpsilon ? 1.0 : alpha); - q[channel]=ClampToQuantum(gamma*scanline[x* - GetPixelChannels(image)+i]); + q[channel]=ClampToQuantum(gamma*scanline[x*GetPixelChannels(image)+ + i]); } q+=GetPixelChannels(scale_image); } @@ -3099,8 +3099,12 @@ MagickExport Image *ScaleImage(const Image *image,const size_t columns, } for (i=0; i < (ssize_t) GetPixelChannels(image); i++) { + traits=GetPixelChannelMapTraits(image,(PixelChannel) i); + if (traits == UndefinedPixelTrait) + continue; + channel=GetPixelChannelMapChannel(image,(PixelChannel) i); pixel[i]+=span.x*scanline[x*GetPixelChannels(image)+i]; - scale_scanline[n*GetPixelChannels(scale_image)+i]=pixel[i]; + scale_scanline[n*GetPixelChannels(scale_image)+channel]=pixel[i]; } scale.x-=span.x; span.x=1.0; @@ -3127,7 +3131,7 @@ MagickExport Image *ScaleImage(const Image *image,const size_t columns, } if ((next_column == MagickFalse) && ((ssize_t) n < (ssize_t) scale_image->columns)) - for (i=0; i < (ssize_t) GetPixelChannels(image); i++) + for (i=0; i < (ssize_t) GetPixelChannels(scale_image); i++) scale_scanline[n*GetPixelChannels(scale_image)+i]=pixel[i]; /* Transfer scanline to scaled image.