scanline=(MagickRealType *) AcquireQuantumMemory((size_t) image->columns,
GetPixelChannels(image)*sizeof(*scanline));
scale_scanline=(MagickRealType *) AcquireQuantumMemory((size_t)
- scale_image->columns,MaxPixelChannels*sizeof(*scale_scanline));
+ scale_image->columns,GetPixelChannels(image)*sizeof(*scale_scanline));
y_vector=(MagickRealType *) AcquireQuantumMemory((size_t) image->columns,
GetPixelChannels(image)*sizeof(*y_vector));
if ((scanline == (MagickRealType *) NULL) ||
traits=GetPixelChannelMapTraits(image,i);
if (traits == UndefinedPixelTrait)
continue;
- channel=GetPixelChannelMapChannel(image,i);
pixel[i]+=span.x*scanline[x*GetPixelChannels(image)+i];
- scale_scanline[n*GetPixelChannels(scale_image)+channel]=pixel[i];
+ scale_scanline[n*GetPixelChannels(image)+i]=pixel[i];
}
scale.x-=span.x;
span.x=1.0;
}
if ((next_column == MagickFalse) &&
((ssize_t) n < (ssize_t) scale_image->columns))
- for (i=0; i < (ssize_t) GetPixelChannels(scale_image); i++)
- scale_scanline[n*GetPixelChannels(scale_image)+i]=pixel[i];
+ for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
+ scale_scanline[n*GetPixelChannels(image)+i]=pixel[i];
/*
Transfer scanline to scaled image.
*/
if ((scale_traits & BlendPixelTrait) == 0)
{
SetPixelChannel(scale_image,channel,ClampToQuantum(
- scale_scanline[x*GetPixelChannels(scale_image)+channel]),q);
+ scale_scanline[x*GetPixelChannels(image)+i]),q);
continue;
}
alpha=QuantumScale*scanline[x*GetPixelChannels(image)+
GetPixelChannelMapChannel(image,AlphaPixelChannel)];
gamma=1.0/(fabs((double) alpha) <= MagickEpsilon ? 1.0 : alpha);
SetPixelChannel(scale_image,channel,ClampToQuantum(gamma*
- scale_scanline[x*GetPixelChannels(scale_image)+channel]),q);
+ scale_scanline[x*GetPixelChannels(image)+i]),q);
}
q+=GetPixelChannels(scale_image);
}