pnmtopng

Pnmtopng User Manual(0)				       Pnmtopng User Manual(0)



NAME
       pnmtopng - convert a PNM image to PNG


SYNOPSIS
       pnmtopng [-verbose] [-downscale] [-interlace] [-alpha=file] [-transpar-
       ent=[=]color] [-background=color] [-palette=palettefile] [-gamma=value]
       [-hist] [-text=file] [-ztxt=file] [-rgb=’wx wy
	 rx ry gx gy bx by’] [-size=’x y unit’] [-modtime=’[yy]yy-mm-dd
	 hh:mm:ss’]  [-nofilter] [-sub] [-up] [-avg] [-paeth] [-compression=n]
       [-comp_mem_level=n]	      [-comp_strategy={huffman_only|filtered}]
       [-comp_method=deflated]	 [-comp_window_bits=n]	 [-comp_buffer_size=n]
       [-force] [-libversion] [pnmfile]



OPTION USAGE
       Obsolete options:

       [-filter n]

       Options available only in older versions:

       [-chroma wx wy rx ry gx gy bx by] [-phys x y unit] [-time [yy]yy-mm-dd
	 hh:mm:ss]

       Minimum unique abbreviation of option is acceptable.  You may use  dou-
       ble  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).

       pnmtopng reads a PNM image as input and produces a PNG image as output.

       Color values in PNG files are either eight or  sixteen  bits  wide,  so
       pnmtopng	 will  automatically  scale  colors to have a maxval of 255 or
       65535.  Grayscale files will be produced with bit depths 1, 2, 4, 8  or
       16.  An extra pamdepth step is not necessary.


OPTIONS
       pnmtopng	 changed  in  Netpbm  10.30 (October 2005) to use the standard
       Netpbm command line syntax.  Before that,  you  could  not  use	double
       hyphens to denote an option and could not use an equal sign to separate
       an option name from its value.  And the options had to come before  the
       non-option program arguments.

       Furthermore,  the  options  -chroma,  -phys, and -time were replaced by
       -rgb, size, and -modtime, respectively.	The  only  difference,	taking
       -phys/-size  as	an example, is that -phys takes multiple program argu-
       ments as the option argument, whereas -rgb takes a single program argu-
       ment which is composed of multiple words.  E.g.	The old shell command


	  pnmtopng -phys 800 800 0 input.pnm >output.png

       is equivalent to the new shell command


	  pnmtopng -size ’800 800 0’ input.pnm >output.png

       If  you’re  writing  a program that needs to work with both new and old
       pnmtopng, have it first try with the new syntax, and if it  fails  with
       ’unrecognized option,’ fall back to the old syntax.



       -verbose
		   Display the format of the output file.

       -downscale
		   Enables  scaling of maxvalues of more then 65535 to 16 bit.
	      Since
		   this means loss of image data, the step is not performed by
	      default.

       -interlace
		   Creates an interlaced PNG file (Adam7).

       -alpha=filename
	       This  specifies	the transparency (alpha channel) of the image.
	      You supply the alpha channel as a standard PGM alpha  mask  (see
	      the  PGM(1)specification.pnmtopngdoesnot	necessarily represents
	      the transparency information as an alpha channel in the PNG for-
	      mat.  If it can represent the transparency information through a
	      palette, it will do so in order to  make	a  smaller  PNG	 file.
	      pnmtopng even sorts the palette so it can omit the opaque colors
	      from the transparency part of the palette and save space for the
	      palette.


       -transparent=color
	      pnmtopng	marks  the  specified  color as transparent in the PNG
	      image.

	      Specify the color (color) as described for the argument  of  the
	      ppm_parsecolor()	library	 routine  .  E.g. red or rgb:ff/00/0d.
	      If the color you specify is not present in the  image,  pnmtopng
	      selects  instead	the  color in the image that is closest to the
	      one you specify.	Closeness is measured as a cartesian  distance
	      between  colors  in  RGB space.  If multiple colors are equidis-
	      tant, pnmtopng chooses one of them arbitrarily.

	      However, if you prefix your color specification with ’=’, e.g.

				  -transparent =red


	       only the exact color you specify will be transparent.  If  that
	      color  does  not	appear	in  the image, there will be no trans-
	      parency.	pnmtopng issues an information message	when  this  is
	      the case.


       -background=color
	      Causes  pnmtopng	to  create a background color chunk in the PNG
	      output which can be used for subsequent alpha channel or	trans-
	      parent color conversions.	 Specify color the same as for -trans-
	      parent.


       -palette=palettefile
	      This option specifies a palette to use in the  PNG.   It	forces
	      pnmtopng	to create the paletted (colormapped) variety of PNG --
	      if that isn’t possible, pnmtopng	fails.	 If  the  palette  you
	      specify  doesn’t	contain	 exactly the colors in the image, pnm-
	      topng fails.   Since  pnmtopng  will  automatically  generate  a
	      paletted PNG, with a correct palette, when appropriate, the only
	      reason you would specify the -palette option is if you  care  in
	      what  order  the	colors appear in the palette.  The PNG palette
	      has colors in the same order as the palette you specify.

	      You specify the palette by naming a PPM file that has one	 pixel
	      for each color in the palette.

	      Alternatively,  consider	the  case  that have a palette and you
	      want to make  sure  your	PNG  contains  only  colors  from  the
	      palette,	approximating  if  necessary.	You  don’t  care  what
	      indexes the PNG uses internally for the colors (i.e.  the	 order
	      of  the  PNG  palette).	In this case, you don’t need -palette.
	      Pass the Netpbm input image and your palette  PPM	 through  pnm-
	      remap.   Though you might think it would, using -palette in this
	      case wouldn’t even save pnmtopng any work.


       -gamma=value
	      Causes pnmtopng to create a gAMA chunk.  This information	 helps
	      describe	how  the  color values in the PNG must be interpreted.
	      Without the gAMA chunk, whatever interprets  the	PNG  must  get
	      this information separately (or just assume something standard).
	      If your input is a true PPM or PGM  image,  you  should  specify
	      -gamma  .45.   But  sometimes  people  generate images which are
	      ostensibly PPM except the image uses a different gamma  transfer
	      function	than the one specified for PPM.	 A common case of this
	      is when the image is created by  simple  hardware	 that  doesn’t
	      have  digital computational ability.  Also, some simple programs
	      that generate images from scratch do it with a gamma transfer in
	      which the gamma value is 1.0.


       -hist  Use  this	 parameter  to	create a chunk that specifies the fre-
	      quency (or histogram) of the colors in the image.


       -rgb=chroma_list
	      This option specifies how red, green, and blue component	values
	      of a pixel specify a particular color, by telling the chromatic-
	      ities of those 3 primary illuminants and	of  white  (i.e.  full
	      strength of all three).

	      The  chroma_list	value  is a blank-separated list of 8 floating
	      point decimal numbers.  The CIE-1931 X and Y chromaticities  (in
	      that  order)  of	each  of  white, red, green, and blue, in that
	      order.

	      This information goes into the PNG’s cHRM chunk.

	      In a shell command, make sure you use quotation  marks  so  that
	      the blanks in chroma_list don’t make the shell see multiple com-
	      mand arguments.

	      This option was new in  Netpbm  10.30  (October  2005).	Before
	      that,  the option -chroma does the same thing, but with slightly
	      different syntax.


       -size=’x y unit’
	      This option determines the aspect ratio of the individual pixels
	      of your image as well as the physical resolution of it.

	      unit  is	either 0 or 1.	When it is 1, the option specifies the
	      physical resolution of the image in pixels per meter.  For exam-
	      ple,  -size=’10000 15000 1’ means that when someone displays the
	      image, he should make it	so  that  10,000  pixels  horizontally
	      occupy  1	 meter	and 15,000 pixels vertically occupy one meter.
	      And even if he doesn’t take this advice on the overall  size  of
	      the  displayed  image,  he  should at least make it so that each
	      pixel displays as 1.5 times as high as wide.

	      When unit is 0, that means there is no advice  on	 the  absolute
	      physical resolution; just on the ratio of horizontal to vertical
	      physical resolution.

	      This information goes into the PNG’s pHYS chunk.

	      When you don’t specify -size, pnmtopng creates the image with no
	      pHYS chunk, which means square pixels of no absolute resolution.

	      This option was new in  Netpbm  10.30  (October  2005).	Before
	      that,  the  option  -phys does the same thing, but with slightly
	      different syntax.


       -text=filename
	      This option lets you include comments in the text chunk  of  the
	      PNG  output.  file is the name of a file that contains your text
	      comments.

	      Here is an example of a comment file:
			 Title		 PNG file

			 Author		 Bryan Henderson

			 Description	 how to include a text chunk
					 PNG file
			 "Creation date" 3-feb-1987

			 Software	 pnmtopng

	      The format of the file is as follows:  The file is divided  into
	      lines,  delimited by newline characters.	The last line need not
	      end with a newline character.  A group of consecutive lines rep-
	      resents a comment.

	      A	 "delimiter  character"	 is  a blank or tab or null character.
	      The first line representing a comment  must  not	start  with  a
	      delimiter	 character.   Every other line in the group is a "con-
	      tinuation line" and must start with a delimiter character.

	      The first line representing a comment consists of a keyword  and
	      the  first line of comment text.	The keyword begins in Column 1
	      of the file line and continues up to,  but  not  including,  the
	      first  delimiter character, or the end of the line, whichever is
	      first.  Exception: you can enclose the keyword in double	quotes
	      and  spaces  and	tabs  within the double quotes are part of the
	      keyword.	The quotes are not part of the keyword.	 A NUL charac-
	      ter is not allowed in a keyword.

	      The  first  line of the comment text is all the text in the file
	      line beginning after the keyword and  any	 delimiter  characters
	      after  it.  immediately after the delimiter character that marks
	      the end of the keyword.

	      A continuation line defines a subsequent line  of	 the  comment.
	      The comment line is all the text on the continuation line start-
	      ing with the first non-delimiter character.

	      There is one newline character between every two comment	lines.
	      There  is	 no  newline  character after the last line of comment
	      text.

	      There is no limit on the length of a file	 line  or  keyword  or
	      comment  text  line  or  comment text.  There is no limit on the
	      number of comments or size of or number of lines in the file.


       -ztxt=filename
	      The same as -text,  except  pnmtopng  considers  the  text  com-
	      pressed.


       -modtime=’[yy]yy-mm-dd hh:mm:ss’
	      This option allows you to specify the modification time value to
	      be placed in the PNG output.  You can specify the year parameter
	      either as a two digit or four digit value.

	      This  option  was	 new  in  Netpbm 10.30 (October 2005).	Before
	      that, the option -time does the same thing,  but	with  slightly
	      different syntax.


       -filter=n
	      This option is obsolete.	Before Netpbm 10.22 (April 2004), this
	      was the only way to specify a row filter.	 It specifies a single
	      type  of	row  filter, by number, that pnmtopng must use on each
	      row.

	      Use -nofilter, -sub, -up, -avg, and -paeth in current Netpbm.


       -nofilter

       -sub

       -up

       -avg

       -paeth Each of these options permits pnmtopng to use one	 type  of  row
	      filter.	pnmtopng chooses whichever of the permitted filters it
	      finds to be optimal.  If you specify none of these  options,  it
	      is  the  same as specifying all of them -- pnmtopng uses any row
	      filter type it finds optimal.

	      These options were new with Netpbm 10.22 (April  2004).	Before
	      that,  you could use the -filter option to specify one permitted
	      row filter type.	 The  default,	when  you  specify  no	filter
	      options, was the same.


       -compression=n
	      This  option sets set the compression level of the zlib compres-
	      sion.  Select a level from 0 for no compression (maximum	speed)
	      to 9 for maximum compression (minimum speed).


       -comp_mem_level=n
	      This option sets the memory usage level of the zlib compression.
	      Select a level from 1 for	 minimum  memory  usage	 (and  minimum
	      speed) to 9 for maximum memory usage (and speed).

	      This option was new in Netpbm 10.30 (October 2005).


       -comp_strategy={huffman_only|filtered}
	      This  options sets the compression strategy of the zlib compres-
	      sion.  See Zlib documentation  for  information  on  what	 these
	      strategies are.

	      This option was new in Netpbm 10.30 (October 2005).


       -comp_method=deflated
	      This option does nothing.	 It is here for mathematical complete-
	      ness and for possible forward compatibility.   It	 theoretically
	      selects  the compression method of the zlib compression, but the
	      Z library knows only one method today,  so  there’s  nothing  to
	      choose.

	      This option was new in Netpbm 10.30 (October 2005).


       -comp_window_bits=N
	      This  option  tells  how big a window the zlib compression algo-
	      rithm uses.  The value is the base 2  logarithm  of  the	window
	      size  in	bytes, so 8 means 256 bytes.  The value must be from 8
	      to 15 (i.e. 256 bytes to 32K).

	      See Zlib documentation for details on what this window size  is.

	      This option was new in Netpbm 10.30 (October 2005).


       -comp_buffer_size=N
	      This  option  determines	in  what size pieces pnmtopng does the
	      zlib compression.	 One compressed piece goes in each IDAT	 chunk
	      in  the  PNG.   So  the bigger this value, the fewer IDAT chunks
	      your PNG will have.  Theoretically, this makes the  PNG  smaller
	      because  1)  you	have  less per-IDAT-chunk overhead, and 2) the
	      compression algorithm has more data to work with.	 But in	 real-
	      ity,  the difference will probably not be noticeable above about
	      8K, which is the default.

	      The value n is the size of the compressed piece (i.e.  the  com-
	      pression buffer) in bytes.

	      This option was new in Netpbm 10.30 (October 2005).



       -force When  you	 specify this, pnmtopng limits its optimizations.  The
	      resulting PNG output is as similar to the Netpbm input as possi-
	      ble.   For  example, the PNG output will not be paletted and the
	      alpha channel will be represented as a full alpha	 channel  even
	      if  the  information could be represented more succinctly with a
	      transparency chunk.



       -libversion
	      This option causes pnmtopng to display version information about
	      itself  and the libraries it uses, in addition to all its normal
	      function.	 Do not confuse this with  the	Netpbm	common	option
	      -version,	 which	causes the program to display version informa-
	      tion about the Netpbm library and do nothing else.

	      You can’t really use this option in a program that invokes  pnm-
	      topng  and  needs to know which version it is.  Its function has
	      changed too much over the history of pnmtopng.   The  option  is
	      only good for human eyes.




SEE ALSO
       pngtopnm(1), pamrgbatopng(1), pnmremap(1), pnmgamma(1), pnm(1)

       For information on the PNG format, see http://schaik.com/png .


AUTHORS
       Copyright (C) 1995-1997 by Alexander Lehmann and Willem van Schaik.



netpbm documentation		   June 2002	       Pnmtopng User Manual(0)

Personal Tools