static inline void SetPacketPixelInfo(const Image *image,
const PixelInfo *pixel_info,PixelPacket *packet)
{
- if ((image->channel_map[RedPixelChannel].traits & UpdatePixelTrait) != 0)
- packet->red=ClampToQuantum(pixel_info->red);
- if ((image->channel_map[GreenPixelChannel].traits & UpdatePixelTrait) != 0)
- packet->green=ClampToQuantum(pixel_info->green);
- if ((image->channel_map[BluePixelChannel].traits & UpdatePixelTrait) != 0)
- packet->blue=ClampToQuantum(pixel_info->blue);
- if ((image->channel_map[BlackPixelChannel].traits & UpdatePixelTrait) != 0)
+ packet->red=ClampToQuantum(pixel_info->red);
+ packet->green=ClampToQuantum(pixel_info->green);
+ packet->blue=ClampToQuantum(pixel_info->blue);
+ packet->alpha=ClampToQuantum(pixel_info->alpha);
+ if (image->colorspace == CMYKColorspace)
packet->black=ClampToQuantum(pixel_info->black);
- if ((image->channel_map[AlphaPixelChannel].traits & CopyPixelTrait) != 0)
- packet->alpha=ClampToQuantum(pixel_info->alpha);
- if ((image->channel_map[IndexPixelChannel].traits & CopyPixelTrait) != 0)
+ if (image->storage_class == PseudoClass)
packet->index=ClampToQuantum(pixel_info->index);
}
static inline void SetPixelInfo(const Image *image,const Quantum *pixel,
PixelInfo *pixel_info)
{
- if ((image->channel_map[RedPixelChannel].traits & UpdatePixelTrait) != 0)
- pixel_info->red=(MagickRealType) GetPixelRed(image,pixel);
- if ((image->channel_map[GreenPixelChannel].traits & UpdatePixelTrait) != 0)
- pixel_info->green=(MagickRealType) GetPixelGreen(image,pixel);
- if ((image->channel_map[BluePixelChannel].traits & UpdatePixelTrait) != 0)
- pixel_info->blue=(MagickRealType) GetPixelBlue(image,pixel);
- if ((image->channel_map[BlackPixelChannel].traits & UpdatePixelTrait) != 0)
+ pixel_info->red=(MagickRealType) GetPixelRed(image,pixel);
+ pixel_info->green=(MagickRealType) GetPixelGreen(image,pixel);
+ pixel_info->blue=(MagickRealType) GetPixelBlue(image,pixel);
+ pixel_info->alpha=(MagickRealType) GetPixelAlpha(image,pixel);
+ if (image->colorspace == CMYKColorspace)
pixel_info->black=(MagickRealType) GetPixelBlack(image,pixel);
- if ((image->channel_map[AlphaPixelChannel].traits & CopyPixelTrait) != 0)
- pixel_info->alpha=(MagickRealType) GetPixelAlpha(image,pixel);
- if ((image->channel_map[IndexPixelChannel].traits & CopyPixelTrait) != 0)
+ if (image->storage_class == PseudoClass)
pixel_info->index=(MagickRealType) GetPixelIndex(image,pixel);
}
SetPixelRed(image,ClampToQuantum(pixel_info->red),packet);
SetPixelGreen(image,ClampToQuantum(pixel_info->green),packet);
SetPixelBlue(image,ClampToQuantum(pixel_info->blue),packet);
- if (image->matte != MagickFalse)
- SetPixelAlpha(image,ClampToQuantum(pixel_info->alpha),packet);
+ SetPixelAlpha(image,ClampToQuantum(pixel_info->alpha),packet);
if (image->colorspace == CMYKColorspace)
SetPixelBlack(image,ClampToQuantum(pixel_info->black),packet);
}