Pnmtotiffcmyk User Manual(0) Pnmtotiffcmyk User Manual(0)
pnmtotiffcmyk - convert a Netpbm image into a CMYK encoded TIFF file
[-rowsperstrip n] [-lowdotrange n]
[-highdotrange n] [-knormal|-konly|-kremove]
[-gammap -1 | -gammap n]
This program is part of Netpbm(1).
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.
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, pnmtotiffcmyk
assumes -default and the appropriate options (-theta,-gamma,-gammap)
can appear anywhere.
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.
These options control fill order (default is -msb2lsb).
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 com-
pressed individually). The default gives a strip size of no more than
These options set tag values that may be useful for printers.
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.
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 algorithm
is included as an example in the source code to help implementors of
-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 basic values
of the 3 pigments are C = 1-R, M = 1-G, Y = 1-B. From this, pnmto-
tiffcmyk 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 provides a simple correction for any color bias that may occur
in the printed image because, in practice, inks do not exactly comple-
ment the primary colors. It rotates the colors (before black replace-
ment) by deg degrees in the color wheel. Unless you are trying to pro-
duce 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 applies a gamma correction to the black (K) value described
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.
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 pig-
ment (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.
pnmtotiff(1), tifftopnm(1), pnm(1)
Copyright (c) 1999 Andrew Cooke (Jara Software). Released under the
GPL with no warranty. See source or COPYRIGHT and LICENCE files in
distribution for full details.
Much of the code uses ideas from other Netpbm programs, written by Jef
Poskanzer (thanks go to him and libtiff maintainer 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
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
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
thereof. In no event will the author be liable for any lost revenue
or profits or other special, indirect and consequential damages.
netpbm documentation 07 February 2004 Pnmtotiffcmyk User Manual(0)
Man(1) output converted with