Mercurial > hg > dmlib
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: