1Pamcat User Manual(0) Pamcat User Manual(0)
2
3
4
6 pamcat - concatenate Netpbm images
7
8
10 pamcat
11
12 {-leftright | -lr | -topbottom | -tb}
13
14 [-white|-black]
15
16 [-jtop|-jbottom|-jcenter] [-jleft|-jright|-jcenter]
17
18 netpbmfile ...
19
20 Minimum unique abbreviation of option is acceptable. You may use dou‐
21 ble hyphens instead of single hyphen to denote options. You may use
22 white space in place of the equals sign to separate an option name from
23 its value.
24
25
27 This program is part of Netpbm(1).
28
29 pamcat reads one or more Netpbm images as input, concatenates them ei‐
30 ther left to right or top to bottom, and produces a single Netpbm image
31 as output.
32
33 Options -leftright and -topbottom determine the direction
34 of the concatenation.
35
36
37 The images do not have to be the same shape: You can concatenate im‐
38 ages
39 of different widths top to bottom and of different heights left to
40 right.
41 You can concatenate images of different depths (numbers of planes).
42 You
43 can concatenate a PBM image with a PPM image. Et cetera.
44
45 The format of the output image is the highest of the formats of the
46 input images, in the order PBM, PGM, PPM, PAM.
47
48 For PAM output, if all of the input images has the same tuple type
49 (including implied tuple types of PNM images), that is the tuple type
50 of the
51 output. If the inputs differ, but are all visual tuple types, the
52 output's tuple type is the most primitive that can represent all
53 the
54 input. E.g. if inputs are GRAYSCALE and RGB, the output is RGB, and
55 if the
56 inputs are GRAYSCALE_ALPHA and RGB, the output is RGB_ALPHA. If the
57 inputs
58 differ and are not all visual, the output tuple type is a null
59 string.
60
61 When the output is PAM, its depth is the maximum of the depths of the
62 inputs (including implied depths of PNM images), but at least enough
63 to
64 represent the tuple type specified above. In the case of nonvisual
65 PAM
66 output, input images are padded to this output depth with higher num‐
67 bered
68 planes of all zeroes.
69
70 Where the input images are of different widths and you concatenate top
71 to bottom, pamcat generates output as wide as the widest of the
72 inputs and pads the narrower ones. The images can be justified ei‐
73 ther
74 left, right, or center within this padded field. Use options
75 -jleft, -jright, and -jcenter to control this.
76
77 Similarly, where the input images are of different heights and you
78 concatenate left to right, pamcat generates output as tall as the
79 tallest of the inputs and pads the shorter ones. The images can be
80 justified either top, bottom, or center within this padded field.
81 Use
82 options
83 -jtop, -jbottom, and -jcenter to control this.
84
85 You can make the padding black or white or let pamcat determine a
86 likely background color, with possibly different colored padding for
87 each
88 input image. Control this with the -black and -white options.
89
90 Where the output image contains transparency information (because at
91 least
92 one of the input images does), the padding is opaque. (That is con‐
93 sistent
94 with the result for an output image without transparency information,
95 because
96 such an image is defined to be opaque).
97
98
99 The arguments are names of input files. Any one of these, but not more
100 than one, may be "-" to indicate Standard Input. If you have no argu‐
101 ments, that means a single input image from Standard Input (and that is
102 pointless - the output is the same as the input).
103
104 To assemble a regular grid of images, you can use pamundice.
105
106 To do the reverse, you might use pamdice to split an image up into
107 smaller ones of equal size or pamcut to chop off part of an image or
108 extract part of an image.
109
110 pnmtile concatenates a single input image to itself repeatedly.
111
112
113
115 In addition to the options common to all programs based on libnetpbm
116 (most notably -quiet, see
117 Common Options ⟨index.html#commonoptions⟩ ), pamcat recognizes the
118 following command line options:
119
120
121 Direction
122 -topbottom, -tb
123 Combine images vertically, top to bottom.
124
125
126 -leftright, -lr
127 Combine images horizontally, left to right.
128
129 You must specify the direction by specifying one of the above.
130 You cannot
131 specify both.
132
133
134
135
136 Justification
137 -jleft
138
139 Left-justify images in a top-bottom concatenation.
140
141 You cannot specify this with -jright
142
143 This option is invalid in a left-right concatenation.
144
145
146 -jright
147
148 Right-justify images in a top-bottom concatenation.
149
150 You cannot specify this with -jleft
151
152 This option is invalid in a left-right concatenation.
153
154
155 -jtop
156
157 Top-justify images in a left-right concatenation.
158
159 You cannot specify this with -jbottom
160
161 This option is invalid in a top-bottom concatenation.
162
163
164 -jbottom
165
166 Bottom-justify images in a left-right concatenation.
167
168 You cannot specify this with -jtop
169
170 This option is invalid in a top-bottom concatenation.
171
172
173 -jcenter
174
175 Center images (valid for both left-right and top-bottom concate‐
176 nations).
177 This is the default.
178
179
180
181 By default, pamcat centers the smaller images.
182 -topbottom -jleft would stack the images on top of each other, flush
183 with the left edge. -leftright -jbottom would line up the images
184 left to right with their bottom edges aligned as if sitting on a ta‐
185 ble.
186
187
188
189 Padding Color
190 These options specify what color to use to fill in the extra space when
191 doing the justification. If neither is specified, pamcat chooses
192 whichever color seems to be right for the images, and the color may be
193 different for each image.
194
195
196 -white Make all padding white.
197
198 You may not specify this with -black
199
200 -black Make all padding black.
201
202 You may not specify this with -white
203
204
205
206
207
209 pamundice(1), pamdice(1), pnmtile(1), pamcut(1), pnm(1), pam(1)
210
211
212
214 pamcat was new in Netpbm 11.00 (September 2022); in earlier versions,
215 pnmcat does most of the same thing.
216
217 Primordial Netpbm/Pbmplus contained concatenation tools, but there were
218 two
219 of them: pbmcatlr for left-right concatenation of PBM images
220 and pbmcattb for top-bottom concatenation. When the PGM and PPM
221 formats were added, these programs were combined and extended to han‐
222 dle all
223 three formats, as pnmcat. All of this work was done by Pbmplus
224 author Jef Poskanzer.
225
226 In Netpbm 10.44 (September 2008), Akira F Urushibata added special fast
227 processing for raw PBM images, exploiting bitstring processing CPU
228 facilities.
229
230 pnmcat was one of the most essential programs in Netpbm, but one
231 thing it could not concatenate was PAM images with transparency. So
232 in
233 Netpbm 11.00 (September 2022), Bryan Henderson wrote pamcat to
234 replace it. It reused the raw PBM fast path code from pnmcat almost
235 verbatim.
236
238 This manual page was generated by the Netpbm tool 'makeman' from HTML
239 source. The master documentation is at
240
241 http://netpbm.sourceforge.net/doc/pamcat.html
242
243netpbm documentation 30 July 2022 Pamcat User Manual(0)