1Pnmmontage User Manual(0) Pnmmontage User Manual(0)
2
3
4
6 pnmmontage - create a montage of PNM images
7
8
10 pnmmontage
11
12 [-header=headerfile]
13
14 [-quality=n]
15
16 [-prefix=prefix]
17
18 [-0|-1|-2|...|-9]
19
20 [-data=filename]
21
22 pnmfile...
23
24
26 This program is part of Netpbm(1).
27
28 pnmmontage packs images of differing sizes into a minimum-area compos‐
29 ite image.
30
31 Areas of the output that cannot be occupied by an image are black.
32
33
34
36 -data=filename
37 This option causes pnmmontage to write a file that describes in
38 machine-readable form the positions of the original images
39 within the packed image. Here is an example:
40
41 :0:0:227:298
42 ../image1.ppm:0:0:227:149
43 ../image2.ppm:0:149:227:149
44
45 There is a line for each component image and one for the compos‐
46 ite.
47
48 The 5 fields on each line are:
49
50
51
52 · source image name (or null string indicating the line for the
53 composite image)
54
55 · Column number of upper left corner of the image
56
57 · Row number of upper left corner of the image
58
59 · width of the image (columns)
60
61 · height of the image (rows)
62
63
64 This option was new in Netpbm 10.6 (July 2002).
65
66
67 -header=filename
68 Tells pnmmontage to write a C header file of the locations of
69 the original images within the packed image. Each original
70 image generates four #defines within the packed file: xxxX,
71 xxxY, xxxSZX, and xxxSZY, where xxx is the name of the file,
72 converted to all uppercase. The output also includes #defines
73 OVERALLX and OVERALLY, which specifies the total size of the
74 montage image.
75
76 Here is an example:
77
78 #define OVERALLX 227
79 #define OVERALLY 298
80
81 #define X 0
82 #define Y 0
83 #define SZX 227
84 #define SZY 149
85
86 #define X 0
87 #define Y 149
88 #define SZX 227
89 #define SZY 149
90
91
92 -prefix
93 Tells pnmmontage to use the specified prefix on all of the
94 #defines it generates.
95
96
97 -quality
98 Before attempting to place the subimages, pnmmontage will calcu‐
99 late a minimum possible area for the montage; this is either the
100 total of the areas of all the subimages, or the width of the
101 widest subimage times the height of the tallest subimage, which‐
102 ever is greater. pnmmontage then initiates a problem-space
103 search to find the best packing; if it finds a solution that is
104 (at least) as good as the minimum area times the quality as a
105 percent, it will break out of the search. Thus, -quality=100
106 will find the best possible solution; however, it may take a
107 very long time to do so. The default is -quality=200.
108
109
110 -0, -1, ... -9
111 These options control the quality at a higher level than -qual‐
112 ity; -0 is the worst quality (pick the first solution found),
113 while -9 is the best quality (perform an exhaustive search of
114 problem space for the absolute best packing). The higher the
115 number, the slower the computation. The default is -5.
116
117
118
119
120
122 Using -9 is very slow on all but the smallest image sets.
123
124 The minimum area arrangement is often not a convenient shape. For
125 example, it might be a tall, thin column of images, when you'd rather
126 have something more square. To force a minimum width or height, you
127 can include a strut image - a black image that wide and one pixel high.
128 Similarly, you can use a vertical strut to force a minimum height.
129
130
131
133 pnmcat(1), pnmindex(1), pnm(1), pam(1), pbm(1), pgm(1), ppm(1)
134
135
137 pnmmontage was new in Netpbm 9.10 (January 2001).
138
139
140
142 Copyright (C) 2000 by Ben Olmstead.
143
145 This manual page was generated by the Netpbm tool 'makeman' from HTML
146 source. The master documentation is at
147
148 http://netpbm.sourceforge.net/doc/pnmmontage.html
149
150netpbm documentation 22 November 2012 Pnmmontage User Manual(0)