From 7000aae3eb4a47e2549d46c0bc49437980d90327 Mon Sep 17 00:00:00 2001 From: dirk Date: Tue, 24 Feb 2015 11:56:06 +0000 Subject: [PATCH] Fixed disabled alpha channel in RGB and BGR reader. --- coders/bgr.c | 15 +++++++++++++++ coders/rgb.c | 1 + 2 files changed, 16 insertions(+) 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; -- 2.40.0