STANNIX Community


Manual: ppmtoxpm

Ppmtoxpm User Manual(1)				   General Commands Manual			     Ppmtoxpm User Manual(1)

NAME
       ppmtoxpm - convert a PPM image to an X11 pixmap

SYNOPSIS
       ppmtoxpm [-name=xpmname] [-hexonly] [-rgb=rgb-textfile] [-alphamask=pgmfile] [ppmfile]

       Minimum	unique	abbreviation of option is acceptable.  You may use double hyphens instead of single hyphen to denote
       options.	 You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION
       This program is part of Netpbm(1).

       ppmtoxpm reads a PPM image as input and produces X11 pixmap (version 3) as output.  This format can be loaded by	 the
       XPM library.

       In the XPM output, colors may be identified by name, such as "Red", or in hexadecimal, for example "#FF0000".  In the
       hexadecimal format, there may be from 1 through 4 hexadecimal digits per RGB component.

       By  default,  ppmtoxpbm	tries  to find a name for each color in the image in the system color dictionary , and if it
       finds one, uses it.  If it doesn't it uses hexadecimal.	You can force ppmtoxpbm to use	hexadecimal  only  with	 the
       -hexonly option.	 You can specify a different color dictionary with the -rgb option.

       When  ppmtoxpm  uses  the  hexadecimal  format for identifying a color, it uses the one that uses the least number of
       hexadecimal digits that it takes to represent the maxval of the input PPM.  E.g. if the maxval of the  input  PPM  is
       100, ppmtoxpm uses 2 digits per component, as in "#FF0000".

       Some  programs  do not properly handle one-digit-per-component hexadecimal color specifiers.  They see the wrong col‐
       ors.  To produce an XPM that such a program can handle, make sure the maxval of the input PPM  is  greater  than	 15,
       such as by running it through pamdepth 255.

   Color Code Lengths - Image Size
       In  the	XPM  format,  there  is a palette ("color map") that assigns each color in the image to a unique sequence of
       printable characters called a color code, and a raster that identifies the color of each pixel of the image with	 one
       of those color codes.  The length of the color code affects the size of the image stream.

       All color codes in an image are the same length, and ppmtoxpm tries to make it as short as possible.  That length is,
       of course, determined by the number of colors in the image.  ppmtoxpm counts the colors in the image, excluding those
       that  will  be  transparent  in the output because of your transparency mask, and chooses a color code length accord‐
       ingly.  There are 92 printable characters that can be used in a color code.  Therefore, if you have 92 or fewer	col‐
       ors,  your  color  codes will be one character.	If you have more than 92 but not more than 92 * 92, your color codes
       will be two characters.	And so on.

       There's one exception to the above: If you specify a transparency mask (the -alpha option, one unique color code rep‐
       resents "transparent."  This is true even if the transparency mask doesn't actually produce any	transparent  pixels.
       So subtract one from the number of possible colors if you use -alpha.

OPTIONS
       In  addition  to	 the  options common to all programs based on libnetpbm (most notably -quiet, see  Common Options ),
       ppmtoxpm recognizes the following command line options:

       -name=xpmname
	      This option specifies the prefix string which is specified in the resulting XPM output.  If you don't use	 the
	      -name  otpion,  ppmtoxpm defaults to the filename (without extension) of the ppmfile parameter.  If you do not
	      specify -name or ppmfile (i.e. your input is from Standard Input), the prefix string defaults  to	 the  string
	      noname.

       -hexonly
	      This option says never to put color names in the XPM file, but rather to identify names by hexadecimal strings
	      that explicitly identify RGB component intensities.  This means the reader of the file need not have access to
	      a suitable color dictionary to interpret it.

	      This option was introduced in Netpbm 10.15 (April 2003).	Before that, it was the default, overridden by spec‐
	      ifying -rgb.

       -rgb=rgb-textfile
	      This  option  names the file in which the color dictionary you want to use resides.  By default, ppmtoxpm uses
	      the system color dictionary , and if it cannot open that file, uses hexadecimal color specifiers.

	      This option in meaningless when you specify -hexonly.

	      Before Netpbm 10.15 (April 2003), ppmtoxpm did not default to the system	color  dictionary.   If	 you  didn't
	      specify -rgb, ppmtoxpbm would use only hexadecimal color specifiers.

       -alphamask=pgmfile
	       This  option names a PGM file to use as a transparency (alpha) mask.  The file must contain an image the same
	      dimensions as the input image.  ppmtoxpm marks as transparent any pixel whose  position  in  the	transparency
	      mask image is at most half white.

	      If you don't specify -alphamask, ppmtoxpm makes all pixels in the output opaque.

	      ppmcolormask is one way to generate a transparency mask file.  You might also generate it by extracting trans‐
	      parency information from an XPM file with the -alphaout option to xpmtoppm.

	      There  are  similar options on other Netpbm converters that convert from formats that include transparency in‐
	      formation too.

SEE ALSO
       ppmcolormask(1), xpmtoppm(1), pamdepth(1), ppm(1) XPM Manual by Arnaud Le Hors lehors@mirsa.inria.fr

AUTHOR
       Copyright (C) 1990 by Mark W. Snitily.

       Permission to use, copy, modify, and distribute this software and its documentation for any purpose and	without	 fee
       is  hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice
       and this permission notice appear in supporting documentation.  This software is provided "as is" without express  or
       implied warranty.

       This  tool  was developed for Schlumberger Technologies, ATE Division, and with their permission is being made avail‐
       able to the public with the above copyright notice and permission notice.

       Upgraded to XPM2 by Paul Breslaw, Mecasoft SA, Zurich, Switzerland (paul@mecazh.uu.ch), November 8, 1990.

       Upgraded to XPM version 3 by Arnaud Le Hors(lehors@mirsa.inria.fr), April 9, 1991.

DOCUMENT SOURCE
       This manual page was generated by the Netpbm tool 'makeman' from HTML source.  The master documentation is at

	      http://netpbm.sourceforge.net/doc/ppmtoxpm.html

netpbm documentation				      22 February 2003				     Ppmtoxpm User Manual(1)