pnmtotiffcmyk
Updated: 07 February 2004
Table Of Contents
NAME
pnmtotiffcmyk - convert a Netpbm image into a CMYK encoded
TIFF file
SYNOPSIS
pnmtotiffcmyk [Compargs][Tiffargs][Convargs][pnmfile]
Compargs:
[-none|-packbits|-lzw [-predictor n]]
Tiffargs:
[-msb2lsb|-lsb2msb] [-rowsperstrip n]
[-lowdotrange n] [-highdotrange n]
[-knormal|-konly|-kremove]
Convargs:
[[-default][Defargs]|-negative]
Defargs:
[-theta deg] [-gamma n] [-gammap -1 | -gammap n]
DESCRIPTION
This program is part of Netpbm.
pnmtotiffcmykreads a PNM image as input and produces a CMYK
encoded TIFF
file as output. It optionally modifies the color balance and
black level,
and modifies removal of CMY from under K.
OPTIONS
The order of most options is not important, but options for
particular
conversion algorithms must appear after the algorithm is
selected
(-default,-negative). If you don't select an algorithm, pnm-
totiffcmyk
assumes -default and the appropriate options (-theta,-gam-
ma,-gammap) can
appear anywhere.
-none,-packbits,-lzw,-predictor
Tiff files can be compressed. By default, pnmtotiffcmyk
uses LZW
decompression, but (apparently) some readers cannot read this,
so you may
want to select a different algorithm (-none,-packbits). For
LZW compression,
a -predictor value of 2 forces horizontal differencing of
scanlines before
encoding; a value of 1 forces no differencing.
-msb2lsb,-lsb2msb
These options control fill order (default is -msb2lsb).
-rowsperstrip
This sets the number of rows in an image strip (data in the
Tiff files
generated by this program is stored in strips - each strip is
compressed
individually). The default gives a strip size of no more than
8 kb.
-lowdotrange,-highdotrange
These options set tag values that may be useful for printers.
-knormal,-kremove,-konly
These options control the calculation of the CMYK ink levels.
They are
useful only for testing and debugging the code.
-kremove sets the black (K) levels to zero while leaving the
other ink
levels as they would be if the black level were normal.
-konly sets all inks to the normal black value.
-default,-negative
These options control what ink levels pnmtotiffcmyk uses to
represent each
input color.
-negative selects a simple algorithm that generates a color
negative. None
of the following options apply to this algorithm. The algo-
rithm is included
as an example in the source code to help implementors of other
conversions.
-default is not necessary, unless you have to countermand a
-negative on the
same command line.
The default conversion from RGB to CMYK is as follows: The ba-
sic values of
the 3 pigments are C = 1-R, M = 1-G, Y = 1-B. From this, pnm-
totiffcmyk
chooses a black (K) level which is the minimum of those three.
It then
replaces that much of the 3 pigments with the black. I.e. it
substracts K
from each of the basic C, M, and Y values.
The options below modify this conversion.
-theta deg
-theta provides a simple correction for any color bias that
may occur in the
printed image because, in practice, inks do not exactly com-
plement the
primary colors. It rotates the colors (before black replace-
ment) by deg
degrees in the color wheel. Unless you are trying to produce
unusual effects
you will need to use small values. Try generating three images
at -10, 0
(the default) and 10 degrees and see which has the best color
balance.
-gamma n
-gamma applies a gamma correction to the black (K) value de-
scribed above.
Specifically, instead of calculating the K value as
min(C,M,Y),
pnmtotiffcmyk raises that value (normalised to the range 0 to
1) to the nth
power. In practice, this means that a value greater than 1
makes the image
lighter and a value less than 1 makes the image darker. The
range of allowed
values is 0.1 to 10.
-gammap n
This option controls the black replacement.
If you specify -gammap, pnmtotiffcmyk uses the specified gamma
value in
computing how much ink to remove from the 3 pigments, but
still uses the
regular gamma value (-gamma option) to generate the actual
amount of black
ink with which to replace it.
Values of n from 0.01 to 10 are valid.
For example, it may be best to only subtract black from the
colored inks in
the very darkest regions. In that case, n should be a large
value, such as
5.
As a special case, if n is -1, pnmtotiffcmyk does not remove
any pigment
(but still adds the black ink). This means dark areas are even
darker.
Furthermore, when printed, dark areas contain a lot of ink
which can make
high contrast areas, like lettering, appear fuzzy. It's hard
to see what the
utility of this is.
SEE ALSO
pnmtotiff, tifftopnm, pnm
AUTHOR
Copyright (c) 1999 Andrew Cooke (Jara Software). Released un-
der the GPL with
no warranty. See source or COPYRIGHT and LICENCE files in dis-
tribution for
full details. Much of the code uses ideas from other Netpbm
programs,
written by Jef Poskanzer (thanks go to him and libtiff main-
tainer Sam
Leffler). A small section of the code - some of the tiff tag
settings - is
derived directly from pnmtotiff, by Jef Poskanzer, which,
in turn,
acknowledges Patrick Naughton with the following text:
Derived by Jef Poskanzer from ras2tif.c, which is:
Copyright (c) 1990 by Sun Microsystems, Inc.
Author: Patrick J. Naughton naughton@wind.sun.com
Permission to use, copy, modify, and distribute this soft-
ware 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 file is provided AS IS with no warranties of any kind.
The author
shall have no liability with respect to the infringement of
copyrights,
trade secrets or any patents by this file or any part there-
of. In no event
will the author be liable for any lost revenue or profits
or other
special, indirect and consequential damages.
_________________________________________________________________
Index
* NAME
* SYNOPSIS
* DESCRIPTION
* OPTIONS
* SEE ALSO
* AUTHOR
UNIX/Linux commands referenced on this page:
- convert
- as
- strip
- size
- more
- which
- less
- replace
- pnmtotiff
- tifftopnm
- file