]> granicus.if.org Git - imagemagick/commitdiff
Added "-define bmp:format=bmp2|bmp3|bmp4" option.
authorglennrp <glennrp@git.imagemagick.org>
Sat, 10 Aug 2013 16:11:30 +0000 (16:11 +0000)
committerglennrp <glennrp@git.imagemagick.org>
Sat, 10 Aug 2013 16:11:30 +0000 (16:11 +0000)
coders/bmp.c

index 5ebd2083d51488287bd6f60a3103c71de1b039e6..ff250b0bfa32e02465c3fd5c69f8b15839c14f48 100644 (file)
@@ -59,6 +59,7 @@
 #include "MagickCore/memory_.h"
 #include "MagickCore/monitor.h"
 #include "MagickCore/monitor-private.h"
+#include "magick/option.h"
 #include "MagickCore/pixel-accessor.h"
 #include "MagickCore/profile.h"
 #include "MagickCore/quantum-private.h"
@@ -1484,6 +1485,9 @@ static MagickBooleanType WriteBMPImage(const ImageInfo *image_info,Image *image,
 {
   BMPInfo
     bmp_info;
+  const char
+    *value;
+
 
   const StringInfo
     *profile;
@@ -1539,6 +1543,22 @@ static MagickBooleanType WriteBMPImage(const ImageInfo *image_info,Image *image,
   else
     if (LocaleCompare(image_info->magick,"BMP3") == 0)
       type=3;
+
+  value=GetImageOption(image_info,"bmp:format");
+
+  if (value != (char *) NULL)
+    {
+      (void) LogMagickEvent(CoderEvent,GetMagickModule(),
+          "  Format=%s",value);
+
+      if (LocaleCompare(value,"bmp2") == 0)
+        type=2;
+      if (LocaleCompare(value,"bmp3") == 0)
+        type=3;
+      if (LocaleCompare(value,"bmp4") == 0)
+        type=4;
+    }
+
   scene=0;
   do
   {