From: dirk Date: Tue, 24 Feb 2015 11:56:06 +0000 (+0000) Subject: Fixed disabled alpha channel in RGB and BGR reader. X-Git-Tag: 7.0.1-0~1240 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7000aae3eb4a47e2549d46c0bc49437980d90327;p=imagemagick Fixed disabled alpha channel in RGB and BGR reader. --- diff --git a/coders/bgr.c b/coders/bgr.c index 60fd8c86b..f0b778aed 100644 --- a/coders/bgr.c +++ b/coders/bgr.c @@ -169,6 +169,13 @@ static Image *ReadBGRImage(const ImageInfo *image_info, { quantum_type=BGRAQuantum; image->alpha_trait=BlendPixelTrait; + canvas_image->alpha_trait=BlendPixelTrait; + } + if (LocaleCompare(image_info->magick,"BGRO") == 0) + { + quantum_type=RGBOQuantum; + image->alpha_trait=BlendPixelTrait; + canvas_image->alpha_trait=BlendPixelTrait; } pixels=(const void *) NULL; if (image_info->number_scenes != 0) @@ -1030,6 +1037,14 @@ ModuleExport size_t RegisterBGRImage(void) entry->description=ConstantString("Raw blue, green, red, and alpha samples"); entry->module=ConstantString("BGR"); (void) RegisterMagickInfo(entry); + entry=SetMagickInfo("BGRO"); + entry->decoder=(DecodeImageHandler *) ReadBGRImage; + entry->encoder=(EncodeImageHandler *) WriteBGRImage; + entry->flags|=CoderRawSupportFlag; + entry->flags|=CoderEndianSupportFlag; + entry->description=ConstantString("Raw blue, green, red, and opacity samples"); + entry->module=ConstantString("BGR"); + (void) RegisterMagickInfo(entry); return(MagickImageCoderSignature); } diff --git a/coders/rgb.c b/coders/rgb.c index f93861b03..f9e3e655f 100644 --- a/coders/rgb.c +++ b/coders/rgb.c @@ -173,6 +173,7 @@ static Image *ReadRGBImage(const ImageInfo *image_info,ExceptionInfo *exception) if (LocaleCompare(image_info->magick,"RGBO") == 0) { quantum_type=RGBOQuantum; + image->alpha_trait=BlendPixelTrait; canvas_image->alpha_trait=BlendPixelTrait; } pixels=(const void *) NULL;