changeset 2155:28b7a842181f

Make PNG/PPM output a bit more sane with -P option and grayscale data.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 04 Jun 2019 16:15:58 +0300
parents 1c111bfc17d4
children e6ec7fad9ce2
files tools/gfxconv.c
diffstat 1 files changed, 8 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/tools/gfxconv.c	Tue Jun 04 15:56:10 2019 +0300
+++ b/tools/gfxconv.c	Tue Jun 04 16:15:58 2019 +0300
@@ -1463,11 +1463,17 @@
     switch (fmt->fmtid)
     {
         case DM_IMGFMT_PNG:
-            spec->format = optUsePalette ? DM_COLFMT_PALETTE : DM_COLFMT_RGBA;
+            if (optUsePalette)
+                spec->format = (image->format == DM_COLFMT_GRAYSCALE) ? DM_COLFMT_GRAYSCALE : DM_COLFMT_PALETTE;
+            else
+                spec->format = DM_COLFMT_RGBA;
             break;
 
         case DM_IMGFMT_PPM:
-            spec->format = DM_COLFMT_RGB;
+            if (optUsePalette && image->format == DM_COLFMT_GRAYSCALE)
+                spec->format = DM_COLFMT_GRAYSCALE;
+            else
+                spec->format = DM_COLFMT_RGB;
             break;
 
         case DM_IMGFMT_RAW: