]> granicus.if.org Git - imagemagick/commitdiff
Fixed other cases (PNG48, PNG64) that did not work with PNG00.
authorglennrp <glennrp@git.imagemagick.org>
Wed, 23 Apr 2014 00:34:09 +0000 (00:34 +0000)
committerglennrp <glennrp@git.imagemagick.org>
Wed, 23 Apr 2014 00:34:09 +0000 (00:34 +0000)
coders/png.c

index a3f7af494370b47ba3d19b5df891013260e2046e..a0cb513cb6418db2d72e840e13ba6778b3efd7f1 100644 (file)
@@ -11637,8 +11637,10 @@ static MagickBooleanType WritePNGImage(const ImageInfo *image_info,
   mng_info->write_png64=LocaleCompare(image_info->magick,"PNG64") == 0;
 
   value=GetImageOption(image_info,"png:format");
+  if (value == (char *) NULL)
+    if (LocaleCompare(image_info->magick,"PNG00") == 0)
 
-  if (value != (char *) NULL)
+  if (value != (char *) NULL || LocaleCompare(image_info->magick,"PNG00") == 0)
     {
       (void) LogMagickEvent(CoderEvent,GetMagickModule(),
          "  Format=%s",value);
@@ -11664,7 +11666,8 @@ static MagickBooleanType WritePNGImage(const ImageInfo *image_info,
       else if (LocaleCompare(value,"png64") == 0)
         mng_info->write_png64 = MagickTrue;
 
-      else if (LocaleCompare(value,"png00") == 0)
+      else if ((LocaleCompare(value,"png00") == 0) ||
+         LocaleCompare(image_info->magick,"PNG00") == 0)
         {
           /* Retrieve png:IHDR.bit-depth-orig and png:IHDR.color-type-orig. */
           value=GetImageProperty(image,"png:IHDR.bit-depth-orig",exception);
@@ -11677,10 +11680,10 @@ static MagickBooleanType WritePNGImage(const ImageInfo *image_info,
               if (LocaleCompare(value,"1") == 0)
                 mng_info->write_png_depth = 1;
     
-              else if (LocaleCompare(value,"1") == 0)
+              else if (LocaleCompare(value,"2") == 0)
                 mng_info->write_png_depth = 2;
     
-              else if (LocaleCompare(value,"2") == 0)
+              else if (LocaleCompare(value,"4") == 0)
                 mng_info->write_png_depth = 4;
     
               else if (LocaleCompare(value,"8") == 0)