x SuSE Linux 13.1-RELEASE x
x SuSE Linux 13.1-RELEASEx
Pamtopng User Manual(0) Pamtopng User Manual(0)
NAME
pamtopng - convert a Netpbm image to PNG
SYNOPSIS
pamtopng [-verbose] [-transparent=color] [-background=color]
[-gamma=value] [-chroma='wx wy
rx ry gx gy bx by'] [-srgbintent=intent] [-time=[yy]yy-mm-dd
hh:mm:ss] [-text=file] [-ztxt=file] [-itxt=file] [pnmfile]
OPTION USAGE
Minimum unique abbreviation of option is acceptable. You may use dou-
ble hyphens instead of a 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).
pamtopng reads a Netpbm image as input and produces a PNG image as out-
put.
Color component values in PNG files are either 8 or 16 bits wide, so
where necessary pamtopng scales colors to have a maxval of 255 or
65535. In that case, it will add an sBIT chunk to indicated the origi-
nal bit-depth.
pamtopng works only on images with maxval 1, 3, 15, 255, or 65535. You
can use pamdepth to convert an image with some other maxval to one of
these.
pamtopng produces a color PNG from a color PAM, even if the only colors
in the image are shades of gray. To create a graycale PNG, from such
an image (which might be slightly smaller), you can use other Netpbm
programs to convert the input to grayscale.
Alternative: pnmtopng
Netpbm contains another program for generating PNG images: pnmtopng.
pnmtopng is a much older program - it is in fact the first program in
the world that could generate a PNG. pnmtopng is a complex, feature-
laden program. It lets you control various arcane aspects of the con-
version and create PNGs with various arcane features. It does various
transformations on the image to create the greatest compression possi-
ble, to a degree that probably doesn't make any difference in the mod-
ern world.
The main advantage pamtopng has over pnmtopng is that the former can
use the transparency channel of a PAM image to generate the transpar-
ency information in the PNG. In contrast, handling of the alpha chan-
nel is very cumbersome with pnmotpng.
One difference that does not exist, that some people might incorrectly
infer from the names is the possible input formats. Both programs can
take PBM, PGM, PPM, and PAM input.
Because pnmtopng has been around virtually forever, programs and proce-
dures that use it are more portable than those that use pamtopng. Its
age and popularity also probably make it have fewer bugs.
pamtopng does not have any way to do what the following do in pnmtopng:
o -palette
o -history
o -filter
o -size
o -paeth
o -hist
o -nofilter
o -sub
o -up
o -avg
o -force
o -libversion
o -compression
o -comp_xxx
These are some of the other functions of pnmtopng that pamtopng lacks:
o When you specify a transparent or background color that is not
in the image, pnmtopng can optionally choose the closest one
that is in the image. pamtopng always uses the exact color you
specify.
Features that exist in both programs are controlled by largely the same
command syntax. But there are these differences:
o pnmtopng's -rgb option is -chroma in pamtopng. -chroma is a
better name, and in fact was the name that pnmtopng used origi-
nally, but we had to change it when we had to change the syntax
of the option value to conform to the rest of Netpbm.
o pnmtopng's -modtime option is -time in pamtopng. The origin of
-modtime is analogous to that of -rgb.
OPTIONS
-transparent=color
pamtopng marks the specified color as transparent in the PNG im-
age.
Specify the color (color) as described for the argument of the
ppm_parsecolor() library routine <libppm.html#colorname> . E.g.
red or rgb:ff/00/0d.
-background=color
This causes pamtopng to create a background color chunk in the
PNG output which can be used for subsequent transparency channel
or transparent color conversions. Specify color the same as for
-transparent.
-gamma=value
This causes pnmtopng to create a gAMA chunk. This information
helps describe how the color values in the PNG must be inter-
preted. 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.
-chroma=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 or-
der.
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.
-srgbintent=intent
This asserts that the input is a pseudo-Netpbm image that uses
an sRGB color space (unlike true Netpbm) and indicates how you
intend for the colors to be rendered. It causes pamtopng to in-
clude an sRGB chunk in the PNG image that specifies that intent,
so see the PNG documentation for more information on what this
really means.
intent is one of:
o perceptual
o relativecolorimetric
o saturation
o absolutecolorimetric
-text=filename
This option lets you include arbitrary text strings in the PNG
output, as tEXt chunks.
filename is the name of a file that contains your text strings.
The output contains a distinct tEXt chunk for each entry in the
file.
Here is an example of a text string file:
Title PNG file
Author John Doe
Description how to include a text chunk
PNG file
"Creation Date" 2015-may-11
Software pamtopng
The file is divided into entries, each entry comprising consecu-
tive lines of text. The first line of an entry starts in the
first column (i.e. the first column is not white space) and ev-
ery other line has white space in the first column. The first
entry starts in the first line, so it is not valid for the first
line of the file to have white space in its first column.
The first word in an entry is the key of the text string (e.g.
'Title'). It begins in column one of the line and continues up
to, but not including, the first delimiter character or the end
of the line, whichever is first. You can enclose the key in
double quotes in which case the key can consists of multiple
words. The quotes are not part of the key. The text string per
se begins after the key and any delimiter characters after it,
plus the text in subsequent continuation lines.
There is no limit on the length of a file line or entry or key
or text string. There is no limit on the number of entries.
-ztxt=filename
The same as -text, except the text string is compressed in the
PNG output. pnmtopng uses zTXt chunks instead of a tEXt chunks.
-itxt=filename
Similar to -text, but the text strings can be in a language
other than English. The PNG image indicates what language that
is and includes the text string key both in English and that
language. pnmtopng uses iTXt chunks instead of tEXt chunks.
For each record, you must specify the language and give the key
both in English and in the text string language.
Example:
Language nl-NL Taal nl-NL
Title nl-NL Titel PNG file
Author nl-NL Auteur Pietje Puk
Description nl-NL Omschrijving Tekst in het Nederlands.
The language specification is based on the ISO 639-1 standard,
see http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes for the
valid codes. The format is either a two character "nl" or an
extended code like "en-US".
-time='[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 or four digit value.
-verbose
This causes the program to display various facts about the con-
version.
SEE ALSO
pngtopam(1), pnmtopng(1), pam(5), pnm(5)
For information on the PNG format, see http://www.w3.org/TR/PNG/
<http://www.w3.org/TR/PNG/> , http://libpng.org/pub/png/
<http://libpng.org/pub/png/> ,
http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
<http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes> and
http://schaik.com/png/ <http://schaik.com/png/> .
HISTORY
pamtopng was new in Netpbm 10.70 (June 2015).
Before pamtopng, the two ways to create PNG images with Netpbm were pn-
mtopng and pamrgbatopng. The history of the former is discussed above.
The latter was added to Netpbm in 2005 as a cheap way to fill a signif-
icant need that pnmtopng did not: the ability to turn the alpha channel
in a PAM image into the alpha channel in a PNG image.
Handling of the alpha channel with pnmtopng is very cumbersome (as was
dealing with alpha channels in general before the introduction of the
PAM format). pamrgbatopng could do what people wanted with the alpha
channel, but nothing else. It was a very small program with literally
no command line options.
The goal in those days was eventually to expand pnmtopng to do the PAM
alpha channel thing, rename it to pamtopng, and retire pamrgbatopng.
But pnmtopng is such a complex program, because of its dizzying array
of features and its need for backward compatibility, that adding that
one capability to it was a daunting task and for ten years nobody at-
tempted it.
In 2015, one of the authors of the original pnmtopng (from before it
was even part of Netpbm -- a program that shared essentially no lines
of code with pnmtopng of 2015) decided to go in a different direction.
While many features of pnmtopng were pretty important and easy to im-
plement, many others were probably of no use in the modern world or at
least not important enough to justify the complexity they lent to the
code. (The features thought to be outdated were ones that were in-
tended to make the PNG output slightly smaller - something considerably
less important with the declining cost of computer resources).
And there was an opportunity to drop those features: We could use the
new name 'pamtopng' for a new program, keep the existing program under
the name 'pnmtopng', and avoid most backward compatibility trouble.
Therefore, Willem van Schaik wrote an intermediate level program that
had all the most important features of pnmtopng, plus the alpha channel
handling of pamrgbatopng, with nice, simple code. That was pamtopng.
Because pamrgbatopng had no options, pamtopng was backward compatible
with it without even trying. Therefore, as soon as we added pamtopng
to Netpbm, we removed pamrgbatopng and recommended that pamrgbatopng be
installed as an alias for pamtopng.
AUTHOR
Copyright (C) 1995-1997 by Alexander Lehmann and Willem van Schaik.
Copyright (C) 2015 by Willem van Schaik.
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/pamtopng.html
netpbm documentation 12 March 2017 Pamtopng User Manual(0)
Want to link to this manual page? Use this URL:
<http://star2.abcm.com/cgi-bin/bsdi-man?query=pamtopng&sektion=1&manpath=>