diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2021-06-30 19:41:51 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2021-06-30 19:41:51 +0000 |
commit | 81fecd2b0abfba11fbd934b372fed659977c11c6 (patch) | |
tree | 289b169b91e3ad4027f216bd841a35033cc1c8b6 /converter | |
parent | e722d4426fa43a12dcba8369808b28af4e38b526 (diff) | |
download | netpbm-mirror-81fecd2b0abfba11fbd934b372fed659977c11c6.tar.gz netpbm-mirror-81fecd2b0abfba11fbd934b372fed659977c11c6.tar.xz netpbm-mirror-81fecd2b0abfba11fbd934b372fed659977c11c6.zip |
Release 10.73.36
git-svn-id: http://svn.code.sf.net/p/netpbm/code/super_stable@4122 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'converter')
-rw-r--r-- | converter/other/pamtogif.c | 4 | ||||
-rw-r--r-- | converter/other/pamtopng.c | 29 |
2 files changed, 22 insertions, 11 deletions
diff --git a/converter/other/pamtogif.c b/converter/other/pamtogif.c index aabf7fc2..d20fa650 100644 --- a/converter/other/pamtogif.c +++ b/converter/other/pamtogif.c @@ -95,9 +95,9 @@ pamAlphaPlane(struct pam * const pamP) { if (streq(pamP->tuple_type, "RGB_ALPHA")) alphaPlane = 3; else if (streq(pamP->tuple_type, "GRAYSCALE_ALPHA")) - alphaPlane = 2; + alphaPlane = 1; else if (streq(pamP->tuple_type, "BLACKANDWHITE_ALPHA")) - alphaPlane = 2; + alphaPlane = 1; else alphaPlane = 0; diff --git a/converter/other/pamtopng.c b/converter/other/pamtopng.c index fdeb6582..21161035 100644 --- a/converter/other/pamtopng.c +++ b/converter/other/pamtopng.c @@ -61,8 +61,8 @@ static bool verbose; struct CmdlineInfo { const char * inputFileName; unsigned int verbose; - unsigned int transparencySpec; - const char * transparency; + unsigned int transparentSpec; + const char * transparent; unsigned int chromaSpec; struct pngx_chroma chroma; unsigned int gammaSpec; @@ -205,8 +205,8 @@ parseCommandLine (int argc, OPTENT3(0, "verbose", OPT_FLAG, NULL, &cmdlineP->verbose, 0); - OPTENT3(0, "transparency", OPT_STRING, &cmdlineP->transparency, - &cmdlineP->transparencySpec, 0); + OPTENT3(0, "transparent", OPT_STRING, &cmdlineP->transparent, + &cmdlineP->transparentSpec, 0); OPTENT3(0, "chroma", OPT_STRING, &chroma, &cmdlineP->chromaSpec, 0); OPTENT3(0, "gamma", OPT_FLOAT, &cmdlineP->gamma, @@ -296,7 +296,17 @@ colorTypeFromInputType(const struct pam * const pamP) { pm_error("Input tuple type is GRAYSCALE, " "but number of planes is %u instead of 1", pamP->depth); - } else if (strneq(pamP->tuple_type, "BLACKANDWHITE", 3)) { + } else if (strneq(pamP->tuple_type, "BLACKANDWHITE_ALPHA", 19)) { + if (pamP->depth != 2) + pm_error("Input tuple type is BLACKANDWHITE_ALPHA, " + "but number of planes is %u instead of 2", + pamP->depth); + if (pamP->maxval != 1) + pm_error("Input tuple type is BLACKANDWHITE_ALPHA, " + "but maxval is %u instead of 1", (unsigned)pamP->maxval); + + retval = PNG_COLOR_TYPE_GRAY_ALPHA; + } else if (strneq(pamP->tuple_type, "BLACKANDWHITE", 13)) { if (pamP->depth != 1) pm_error("Input tuple type is BLACKANDWHITE, " "but number of planes is %u instead of 1", @@ -410,7 +420,7 @@ doTrnsChunk(const struct pam * const pamP, else { xelval const pngMaxval = pm_bitstomaxval(pngx_bitDepth(pngxP)); png_color_16 const pngColor = parseAndScaleColor(trans, pngMaxval); - /* Transparency color from text format scaled from 16-bit to + /* Transparent color from text format scaled from 16-bit to maxval. */ @@ -687,7 +697,8 @@ writePng(const struct pam * const pamP, if ((pngColorType == PNG_COLOR_TYPE_RGB || - pngColorType == PNG_COLOR_TYPE_RGB_ALPHA) && + pngColorType == PNG_COLOR_TYPE_RGB_ALPHA || + pngColorType == PNG_COLOR_TYPE_GRAY_ALPHA) && pnmBitDepth < 8) { pngBitDepth = 8; @@ -704,8 +715,8 @@ writePng(const struct pam * const pamP, sBit = sigBitsFmImgType(pnmBitDepth, pngColorType); /* Where requested, add ancillary chunks */ - if (cmdline.transparencySpec) - doTrnsChunk(pamP, pngxP,cmdline.transparency); + if (cmdline.transparentSpec) + doTrnsChunk(pamP, pngxP,cmdline.transparent); if (cmdline.chromaSpec) doChrmChunk(pngxP, cmdline.chroma); |