{
    "mode": "man",
    "parameter": "pgmtoppm",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/pgmtoppm/1/json",
    "generated": "2026-06-03T01:48:25Z",
    "synopsis": "pgmtoppm colorspec [pgmfile]\npgmtoppm colorspec1-colorspec2 [pgmfile]\npgmtoppm -map mapfile [pgmfile]",
    "sections": {
        "NAME": {
            "content": "pgmtoppm - colorize a portable graymap into a portable pixmap\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "pgmtoppm colorspec [pgmfile]\npgmtoppm colorspec1-colorspec2 [pgmfile]\npgmtoppm -map mapfile [pgmfile]\n\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "Reads  a  PGM as input.  Produces a PPM file as output with a specific color assigned to each\ngray value in the input.\n\nIf you specify one color argument, black in the pgm file stays black and  white  in  the  pgm\nfile  turns  into  the  specified color in the ppm file.  Gray values in between are linearly\nmapped to differing intensities of the specified color.\n\nIf you specify two color arguments (separated by a dash), then black gets mapped to the first\ncolor  and  white  gets  mapped  to the second and gray values in between get mapped linearly\n(across a three dimensional space) to colors in between.\n\nYou can specify the color in one of five ways:\n\no      A name, from an X11-style color names file.\n\no      An X11-style hexadecimal specifier: rgb:r/g/b, where r g and b are each 1- to  4-digit\nhexadecimal numbers.\n\no      An X11-style decimal specifier: rgbi:r/g/b, where r g and b are floating point numbers\nbetween 0 and 1.\n\no      For backwards compatibility,  an  old-X11-style  hexadecimal  number:  #rgb,  #rrggbb,\n#rrrgggbbb, or #rrrrggggbbbb.\n\no      For  backwards compatibility, a triplet of numbers separated by commas: r,g,b, where r\ng and b are floating point numbers between 0 and 1.  (This style was added before  MIT\ncame up with the similar rgbi style.)\n\nAlso,  you  can  specify  an entire colormap with the -map option.  The mapfile is just a ppm\nfile; it can be any shape, all that matters is the colors in it and  their  order.   In  this\ncase,  black  gets  mapped into the first color in the map file, and white gets mapped to the\nlast and gray values in between are mapped linearly onto the sequence of colors in between.\n\n",
            "subsections": []
        },
        "NOTE - MAXVAL": {
            "content": "The \"maxval,\" or depth, of the output image is the same as that of the input image.  The max‐\nval affects the color resolution, which may cause quantization errors you don't anticipate in\nyour output.  For example, you have a simple black and white image (in fact, let's say it's a\nPBM  file, since pgmtoppm, like all Netpbm programs, can accept a PBM file as if it were PGM.\nThe maxval of this image is 1, because only two gray values are needed: black and white.  Run\nthis  image  through pgmtoppm 0f/00/00 to try to make the image black and faint red.  Because\nthe output image will also have maxval 1, there is no such thing as faint red.  It has to  be\neither  full-on  red or black.  pgmtoppm rounds the color 0f/00/00 down to black, and you get\nan output image that is nothing but black.\n\nThe fix is easy:  Pass the input through pnmdepth on the way into pgmtoppm  to  increase  its\ndepth to something that would give you the resolution you need to get your desired color.  In\nthis case, pnmdepth 16 would do it.  Or spare yourself the unnecessary thinking and just  say",
            "subsections": [
                {
                    "name": "pnmdepth 255 .",
                    "content": ""
                }
            ]
        },
        "SEE ALSO": {
            "content": "pnmdepth(1), rgb3toppm(1), ppmtopgm(1), ppmtorgb3(1), ppm(5), pgm(5)\n\n",
            "subsections": []
        },
        "AUTHOR": {
            "content": "Copyright (C) 1991 by Jef Poskanzer.\n\n\n\n24 January 2001                               pgmtoppm(1)",
            "subsections": []
        }
    },
    "summary": "pgmtoppm - colorize a portable graymap into a portable pixmap",
    "flags": [],
    "examples": [],
    "see_also": [
        {
            "name": "pnmdepth",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/pnmdepth/1/json"
        },
        {
            "name": "rgb3toppm",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/rgb3toppm/1/json"
        },
        {
            "name": "ppmtopgm",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/ppmtopgm/1/json"
        },
        {
            "name": "ppmtorgb3",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/ppmtorgb3/1/json"
        },
        {
            "name": "ppm",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/ppm/5/json"
        },
        {
            "name": "pgm",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/pgm/5/json"
        }
    ],
    "tldr": {
        "source": "official",
        "description": "Colorize a PGM image.",
        "examples": [
            {
                "description": "Map all greyscale values of the input image to all colors between the two specified colors",
                "command": "pgmtoppm {{-b|-black}} {{red}} {{-w|-white}} {{blue}} {{path/to/input.pgm}} > {{path/to/output.ppm}}"
            },
            {
                "description": "Map all greyscale values of the input image to colors according to the specified colormap",
                "command": "pgmtoppm {{-m|-map}} {{path/to/colormap.ppm}} {{path/to/input.pgm}} > {{path/to/output.ppm}}"
            }
        ]
    }
}