]> granicus.if.org Git - imagemagick/commitdiff
Fixed disabled alpha channel in RGB and BGR reader.
authordirk <dirk@git.imagemagick.org>
Tue, 24 Feb 2015 11:56:06 +0000 (11:56 +0000)
committerdirk <dirk@git.imagemagick.org>
Tue, 24 Feb 2015 11:56:06 +0000 (11:56 +0000)
coders/bgr.c
coders/rgb.c

index 60fd8c86b4b7976fe42d40dda5eca920145fb466..f0b778aed503047c4452196355183c648398309b 100644 (file)
@@ -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);
 }
 \f
index f93861b03ee0c771ccf3e6953d1ca3a963576cdb..f9e3e655f52fbbd1c58ea4766d9f96a0e884cb9c 100644 (file)
@@ -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;