- if ((GetPixelRedTraits(image) & UpdatePixelTrait) != 0)
- SetPixelRed(image,ScaleAnyToQuantum(ScaleQuantumToAny(
- GetPixelRed(image,q),range),range),q);
- if ((GetPixelGreenTraits(image) & UpdatePixelTrait) != 0)
- SetPixelGreen(image,ScaleAnyToQuantum(ScaleQuantumToAny(
- GetPixelGreen(image,q),range),range),q);
- if ((GetPixelBlueTraits(image) & UpdatePixelTrait) != 0)
- SetPixelBlue(image,ScaleAnyToQuantum(ScaleQuantumToAny(
- GetPixelBlue(image,q),range),range),q);
- if (((GetPixelBlackTraits(image) & UpdatePixelTrait) != 0) &&
- (image->colorspace == CMYKColorspace))
- SetPixelBlack(image,ScaleAnyToQuantum(ScaleQuantumToAny(
- GetPixelBlack(image,q),range),range),q);
- if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) &&
- (image->matte != MagickFalse))
- SetPixelAlpha(image,ScaleAnyToQuantum(ScaleQuantumToAny(
- GetPixelAlpha(image,q),range),range),q);
+ register ssize_t
+ i;
+
+ for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
+ {
+ PixelTrait
+ traits;
+
+ traits=GetPixelChannelMapTraits(image,(PixelChannel) i);
+ if (traits == UndefinedPixelTrait)
+ continue;
+ q[i]=ScaleAnyToQuantum(ScaleQuantumToAny(q[i],range),range);
+ }