]> granicus.if.org Git - imagemagick/commitdiff
Fixed determining PNG color_type when image type is set to grayscale.
authorDirk Lemstra <dirk@git.imagemagick.org>
Sat, 26 May 2018 09:22:37 +0000 (11:22 +0200)
committerDirk Lemstra <dirk@git.imagemagick.org>
Sat, 26 May 2018 09:22:52 +0000 (11:22 +0200)
coders/png.c

index 869853c023008a62bbeeb0665d0c7c225959c718..0848cad8644c8490e981f9920738a37a3ec2cdd7 100644 (file)
@@ -10191,27 +10191,20 @@ static MagickBooleanType WriteOnePNGImage(MngInfo *mng_info,
              (void) LogMagickEvent(CoderEvent,GetMagickModule(),
              "  Selecting PNG colortype:");
 
-          ping_color_type=(png_byte) ((matte != MagickFalse)?
-            PNG_COLOR_TYPE_RGB_ALPHA:PNG_COLOR_TYPE_RGB);
-
           if (image_info->type == TrueColorType)
             {
               ping_color_type=(png_byte) PNG_COLOR_TYPE_RGB;
               image_matte=MagickFalse;
             }
-
-          if (image_info->type == TrueColorAlphaType)
+          else if (image_info->type == TrueColorAlphaType)
             {
               ping_color_type=(png_byte) PNG_COLOR_TYPE_RGB_ALPHA;
               image_matte=MagickTrue;
             }
-
-          if (image_info->type == PaletteType ||
-              image_info->type == PaletteAlphaType)
+          else if (image_info->type == PaletteType ||
+                   image_info->type == PaletteAlphaType)
             ping_color_type=(png_byte) PNG_COLOR_TYPE_PALETTE;
-
-          if (mng_info->write_png_colortype == 0 &&
-             image_info->type == UndefinedType)
+          else
             {
               if (ping_have_color == MagickFalse)
                 {