q+=GetPixelChannels(image);
continue;
}
- for (i=0; i < (ssize_t) GetPixelChannels(source_image); i++)
+ for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
{
- PixelChannel channel=GetPixelChannelChannel(source_image,i);
+ PixelChannel channel=GetPixelChannelChannel(image,i);
+ PixelTrait traits=GetPixelChannelTraits(image,channel);
PixelTrait source_traits=GetPixelChannelTraits(source_image,
channel);
- PixelTrait traits=GetPixelChannelTraits(image,channel);
- if ((traits == UndefinedPixelTrait) ||
- (source_traits == UndefinedPixelTrait))
+ if (traits == UndefinedPixelTrait)
continue;
- SetPixelChannel(image,channel,p[i],q);
+ if (source_traits != UndefinedPixelTrait)
+ SetPixelChannel(image,channel,p[i],q);
+ else if (channel == AlphaPixelChannel)
+ SetPixelChannel(image,channel,OpaqueAlpha,q);
}
p+=GetPixelChannels(source_image);
q+=GetPixelChannels(image);