]> granicus.if.org Git - imagemagick/blobdiff - coders/bgr.c
(no commit message)
[imagemagick] / coders / bgr.c
index cec2a4c5adb16eefa8cb8313eed8196c15aca1ec..e64ba72d9612587bbc589d84a7cb2b7802192a12 100644 (file)
@@ -169,8 +169,15 @@ static Image *ReadBGRImage(const ImageInfo *image_info,
     {
       quantum_type=BGRAQuantum;
       image->alpha_trait=BlendPixelTrait;
+      canvas_image->alpha_trait=BlendPixelTrait;
     }
-  pixels=NULL;
+  if (LocaleCompare(image_info->magick,"BGRO") == 0)
+    {
+      quantum_type=BGROQuantum;
+      image->alpha_trait=BlendPixelTrait;
+      canvas_image->alpha_trait=BlendPixelTrait;
+    }
+  pixels=(const void *) NULL;
   if (image_info->number_scenes != 0)
     while (image->scene < image_info->scene)
     {
@@ -1017,19 +1024,27 @@ ModuleExport size_t RegisterBGRImage(void)
   entry=SetMagickInfo("BGR");
   entry->decoder=(DecodeImageHandler *) ReadBGRImage;
   entry->encoder=(EncodeImageHandler *) WriteBGRImage;
-  entry->raw=MagickTrue;
-  entry->endian_support=MagickTrue;
+  entry->flags|=CoderRawSupportFlag;
+  entry->flags|=CoderEndianSupportFlag;
   entry->description=ConstantString("Raw blue, green, and red samples");
   entry->module=ConstantString("BGR");
   (void) RegisterMagickInfo(entry);
   entry=SetMagickInfo("BGRA");
   entry->decoder=(DecodeImageHandler *) ReadBGRImage;
   entry->encoder=(EncodeImageHandler *) WriteBGRImage;
-  entry->raw=MagickTrue;
-  entry->endian_support=MagickTrue;
+  entry->flags|=CoderRawSupportFlag;
+  entry->flags|=CoderEndianSupportFlag;
   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