home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume33 / icontact / part01 < prev    next >
Encoding:
Text File  |  1992-11-01  |  26.4 KB  |  625 lines

  1. Newsgroups: comp.sources.misc
  2. From: cs62a12@wind.ucsd.edu (Mark Hanson)
  3. Subject:  v33i030:  icontact - perl script to create contact sheets of images, v1.3, Part01/02
  4. Message-ID: <csm-v33i030=icontact.231839@sparky.IMD.Sterling.COM>
  5. X-Md4-Signature: bc686c1ace80866ec91b350311326bb9
  6. Date: Mon, 2 Nov 1992 05:21:43 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: cs62a12@wind.ucsd.edu (Mark Hanson)
  10. Posting-number: Volume 33, Issue 30
  11. Archive-name: icontact/part01
  12. Environment: UNIX, perl, pbmplus
  13. Supersedes: icontact: Volume 30, Issue 77
  14.  
  15. icontact-1.3 (25oct92)
  16.  
  17. This is the fourth release of icontact.
  18.  
  19. New features include (look at the man page for specifics):
  20.   - the colors of all the different parts of the contact sheets (label
  21.     text, background, border stripes, etc.) are now user configurable.
  22.   - smarter input image filename processing.
  23.   - the rows of contact sheets can now be left justified.
  24.   - a nice value may be specified for the child processes.
  25.   - signal names instead of signal numbers when a signal is caught.
  26.   - icontact does not give up as easily as it used to when a child dies.
  27.   - user specifiable color quantization program.
  28.  
  29. I would appreciate hearing from you if you find icontact useful or have
  30. suggestions on how to make it better.  I only have access to a
  31. SPARCstation running SunOS 4.1.2, so icontact has only been tested in
  32. this environment.  If icontact fails in your environment, let me know
  33. so I can fix it.
  34.  
  35. Send all e-mail regarding icontact to cs62a12@wind.ucsd.edu.
  36.  
  37. Here is the DESCRIPTION section from the man page:
  38.  
  39.   icontact is a perl script that takes a bunch of image files and creates
  40.   contact sheets.  icontact determines the file format by the file name
  41.   extension of the input files and then uses internal tables to look up
  42.   the commands it needs to convert the images to the ppm format.  Once in
  43.   the ppm format, icontact uses various pbmplus commands to create the
  44.   contact sheets.  icontact is particularly useful if you have lots of
  45.   image files in all sorts of different formats and you want to create an
  46.   index of all of them without converting them all to a common format
  47.   first.
  48.  
  49.   icontact is highly configurable.  It can probably do anything you would
  50.   ever want this type of program to do - and more.  If you think of
  51.   additional features that would be useful for a program of this type to
  52.   do, tell me and I'll see what I can do.
  53.  
  54.   Besides perl, icontact requires the pbmplus package by Jef Poskanzer.
  55.   The Independent JPEG Group's package (cjpeg, djpeg) is also necessary
  56.   if you are going to be processing any JPEG files.  It should not be
  57.   difficult to add filters from other packages as long as there is a way
  58.   to go to and from the ppm format with them.
  59.  
  60. I hope you find icontact useful,
  61. mark
  62.  
  63. -------------------------------------------------------------------------------
  64. #! /bin/sh
  65. # This is a shell archive.  Remove anything before this line, then unpack
  66. # it by saving it into a file and typing "sh file".  To overwrite existing
  67. # files, type "sh file -c".  You can also feed this as standard input via
  68. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  69. # will see the following message at the end:
  70. #        "End of archive 1 (of 2)."
  71. # Contents:  README icontact.1
  72. # Wrapped by mark@eggman on Sun Oct 25 15:29:45 1992
  73. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  74. if test -f 'README' -a "${1}" != "-c" ; then 
  75.   echo shar: Will not clobber existing file \"'README'\"
  76. else
  77. echo shar: Extracting \"'README'\" \(2729 characters\)
  78. sed "s/^X//" >'README' <<'END_OF_FILE'
  79. Xicontact-1.3 (25oct92)
  80. X
  81. XThis is the fourth release of icontact.
  82. X
  83. XNew features include (look at the man page for specifics):
  84. X  - the colors of all the different parts of the contact sheets (label
  85. X    text, background, border stripes, etc.) are now user configurable.
  86. X  - smarter input image filename processing.
  87. X  - the rows of contact sheets can now be left justified.
  88. X  - a nice value may be specified for the child processes.
  89. X  - signal names instead of signal numbers when a signal is caught.
  90. X  - icontact does not give up as easily as it used to when a child dies.
  91. X  - user specifiable color quantization program.
  92. X
  93. XI would appreciate hearing from you if you find icontact useful or have
  94. Xsuggestions on how to make it better.  I only have access to a
  95. XSPARCstation running SunOS 4.1.2, so icontact has only been tested in
  96. Xthis environment.  If icontact fails in your environment, let me know
  97. Xso I can fix it.
  98. X
  99. XSend all e-mail regarding icontact to cs62a12@wind.ucsd.edu.
  100. X
  101. XHere is the DESCRIPTION section from the man page:
  102. X
  103. X  icontact is a perl script that takes a bunch of image files and creates
  104. X  contact sheets.  icontact determines the file format by the file name
  105. X  extension of the input files and then uses internal tables to look up
  106. X  the commands it needs to convert the images to the ppm format.  Once in
  107. X  the ppm format, icontact uses various pbmplus commands to create the
  108. X  contact sheets.  icontact is particularly useful if you have lots of
  109. X  image files in all sorts of different formats and you want to create an
  110. X  index of all of them without converting them all to a common format
  111. X  first.
  112. X
  113. X  icontact is highly configurable.  It can probably do anything you would
  114. X  ever want this type of program to do - and more.  If you think of
  115. X  additional features that would be useful for a program of this type to
  116. X  do, tell me and I'll see what I can do.
  117. X
  118. X  Besides perl, icontact requires the pbmplus package by Jef Poskanzer.
  119. X  The Independent JPEG Group's package (cjpeg, djpeg) is also necessary
  120. X  if you are going to be processing any JPEG files.  It should not be
  121. X  difficult to add filters from other packages as long as there is a way
  122. X  to go to and from the ppm format with them.
  123. X
  124. XTHANKS TO:
  125. X  - Roger Hayes (roger.hayes@eng.sun.com)
  126. X    for sending me an implementation of the -W option.
  127. X  - Larry W. Virden (lwv26@cas.org) 
  128. X    for suggesting the -O option and the feature that allows you to take an
  129. X    old contact sheet and add new images to it.
  130. X  - Marco Pauck (pauck@mcshh.hanse.de)
  131. X    for pointing out that I was using some possibly uninitialized variables.
  132. X  - Mark Valentine (mark@spider.co.uk)
  133. X    for suggesting the -L option and all the color options.
  134. X
  135. XI hope you find icontact useful,
  136. Xmark
  137. END_OF_FILE
  138. if test 2729 -ne `wc -c <'README'`; then
  139.     echo shar: \"'README'\" unpacked with wrong size!
  140. fi
  141. # end of 'README'
  142. fi
  143. if test -f 'icontact.1' -a "${1}" != "-c" ; then 
  144.   echo shar: Will not clobber existing file \"'icontact.1'\"
  145. else
  146. echo shar: Extracting \"'icontact.1'\" \(19275 characters\)
  147. sed "s/^X//" >'icontact.1' <<'END_OF_FILE'
  148. X.nh
  149. X.TH ICONTACT 1 "icontact\-1.3 (25oct92)"
  150. X.SH NAME
  151. Xicontact \- create contact sheets from images of different formats
  152. X.SH SYNOPSIS
  153. X\fBicontact\fP [ \fIswitches\fP ] [ { \fIimage file\fP | \fIparameter
  154. Xfile\fP } ... ]
  155. X.SH DESCRIPTION
  156. X.PP
  157. X\fIicontact\fP is a \fIperl\fP script that takes a bunch of image files
  158. Xand creates contact sheets.  \fIicontact\fP determines the file format
  159. Xby the file name extension of the input files and then uses internal
  160. Xtables to look up the commands it needs to convert the images to the
  161. Xppm format.  Once in the ppm format, \fIicontact\fP uses various
  162. X\fIpbmplus\fP commands to create the contact sheets.  \fIicontact\fP is
  163. Xparticularly useful if you have lots of image files in all sorts of
  164. Xdifferent formats and you want to create an index of all of them
  165. Xwithout converting them all to a common format first.
  166. X.PP
  167. X\fIicontact\fP is highly configurable.  It can probably do anything you
  168. Xwould ever want this type of program to do \(em and more.  If you think
  169. Xof additional features that would be useful for a program of this type
  170. Xto do, tell me and I'll see what I can do.
  171. X.PP
  172. XBesides \fIperl\fP, \fIicontact\fP requires the \fIpbmplus\fP package
  173. Xby Jef Poskanzer.  The Independent JPEG Group's package (\fIcjpeg\fP,
  174. X\fIdjpeg\fP) is also necessary if you are going to be processing any
  175. XJPEG files.  It should not be difficult to add filters from other
  176. Xpackages as long as there is a way to go to and from the ppm format
  177. Xwith them.
  178. X.SH OPTIONS
  179. X.PP
  180. XSwitches that do not take arguments may be combined into a single
  181. Xswitch: \fB\-abBlv\fP.  Switches that take
  182. Xarguments must be followed by their arguments with space in between:
  183. X\fB\-c\ 10\ \-r\ 5\fP.  The fancy way combine all these switches is:
  184. X\fB\-abBlvc\ 10\ \-r\ 5\fP.  That is, you can combine the switches
  185. Xtogether in any way you like so long as the switches that take an
  186. Xargument are followed by said argument with a space in between.  If you
  187. Xdon't want to get fancy, just specify each switch by itself:
  188. X\fB\-a\ \-b\ \-B\ \-c\ 10\ \-l\ \-r\ 5\ \-v\fP.
  189. X.\"
  190. X.PP
  191. XIn all cases in which a switch does not take an argument,
  192. X\fB\-switch\fP will turn the switch on, and \fB+switch\fP will turn the
  193. Xswitch off.  For example, \fB\-l\fP will turn labels on, and \fB+l\fP
  194. Xwill turn labels off.  This can be useful if you have a particular set
  195. Xof switches set in a configuration file and you want to temporarily
  196. Xdisable a switch to make a sheet without changing the configuration
  197. Xfile.  If a set of switches are combined into a single switch that
  198. Xleads with either a \fB+\fP or a \fB\-\fP, the \fB+\fP or \fB\-\fP
  199. Xaffects all the switches in that set of switches.  If a switch that
  200. Xtakes an argument is specified with a leading \fB+\fP, it is assumed
  201. Xthat you meant \fB\-\fP.
  202. X.\"
  203. X.PP
  204. XAn argument of \fB\-\-\fP terminates the options list and signals the
  205. Xbeginning of the file list.
  206. X.\"
  207. X.PP
  208. XSwitches can be specified in two places: the command line and a
  209. Xconfiguration file.  The command line switches are the most potent \(em
  210. Xthey override everything.  The switches in a configuration file are the
  211. Xnext most potent \(em they are only overridden by the command line
  212. Xswitches.  The internal defaults of \fIicontact\fP are overridden by
  213. Xboth the command line and configuration file.
  214. X.\"
  215. X.IP \fB\(+-a\fP
  216. XMake the output sheets fit into the size specified with the \fB\-x\fP
  217. Xand \fB\-y\fP switches.  Setting the \fB\-x\fP and \fB\-y\fP switches
  218. Xto the size of your screen will yield contact sheets which are no
  219. Xlarger than your screen.  The \fB\-r\fP and \fB\-c\fP switches will be
  220. Xignored if the \fB\-a\fP switch is present because the number of rows
  221. Xand columns is figured out dynamically and will probably change from
  222. Xsheet to sheet unless the \fB\-i\fP switch is specified or all the
  223. Xsource images are of the same size to begin with.
  224. X.\"
  225. X.IP \fB\(+-B\fP
  226. XAdd a border to each image in the contact sheet.  The colors of the border
  227. Xstripes may be specified with the \fB\-z\fP switch.
  228. X.\"
  229. X.IP \fB\(+-b\fP
  230. XUse the \fIbasename(1)\fP of the file name instead of the whole path
  231. Xname to the file in labels.  This switch will be ignored if the
  232. X\fB\-l\fP switch is not specified.
  233. X.\"
  234. X.IP "\fB\-C\fP \fIcolor\fP"
  235. XUse \fIcolor\fP for the background of the contact sheet.  The default
  236. Xvalue is ``black''.
  237. X.\"
  238. X.IP "\fB\-c\fP \fIn\fP"
  239. XMake the contact sheets with \fIn\fP columns of images.  This switch is
  240. Xignored if the \fB\-a\fP switch is specified.  The default value is 7.
  241. X.\"
  242. X.IP "\fB\-D\fP \fIformat\fP"
  243. XIf a file without a suffix is processed, assume it is a \fIformat\fP file.
  244. XThe default value is ``.gif''.
  245. X.\"
  246. X.IP "\fB\-d\fP \fIdir\fP"
  247. XPut the contact sheets in \fIdir\fP when completed.  The default value
  248. Xis ``.''.
  249. X.\"
  250. X.IP "\fB\-F\fP \fIfile\fP"
  251. X\fIfile\fP will be used with \fIpbmtext\fP as a font for labels.  Each
  252. Ximage's height will be increased by the height of the characters in the
  253. Xfont.  This switch will be ignored if the \fB\-l\fP switch is not
  254. Xspecified.  By default, \fIpbmtext\fP's internal font is used.
  255. X.\"
  256. X.IP "\fB\-f\fP \fIformat\fP"
  257. XEncode the finished contact sheets as \fIformat\fP files.
  258. XThe default value is ``.ppm.Z''.
  259. X.\"
  260. X.IP \fB\(+-g\fP
  261. XGenerate a parameter file for each contact sheet produced.  This
  262. Xparameter file will be named \fIprefix###.format.suffix\fP, where
  263. X\fIprefix\fP is the contact sheet name, \fI###\fP is the number of the
  264. Xcontact sheet, \fIformat\fP is the file format of the contact sheet,
  265. Xand \fIsuffix\fP is the parameter file suffix specified with the
  266. X\fB\-P\fP switch.  When \fIicontact\fP sees one of these files on the
  267. Xcommand line, it looks in the parameter file for the names and
  268. Xlocations of images inside the sheet specified by removing the
  269. X\fIsuffix\fP from the parameter file name.  These images will be cut
  270. Xout and put in the new output sheets instead of being fully processed
  271. Xagain.  For best results when using parameter files on the command
  272. Xline, select no quantization and a lossless file format both when the
  273. Xsheet is first created and also when its parameter file is used on the
  274. Xcommand line.  This will prevent information loss if this operation is
  275. Xperformed multiple times.
  276. X.\"
  277. X.IP \fB\-help\fP
  278. XThis is a special case which will print out a help message explaining
  279. X\fIicontact\fP's switches.  Any other unrecognized switch will do the
  280. Xsame.
  281. X.\"
  282. X.IP "\fB\-h\fP \fIn\fP"
  283. XMake each image in the contact sheets a maximum of \fIn\fP pixels
  284. Xhigh.  The aspect ratio of the images will not be changed.  This switch
  285. Xwill be ignored if the \fB\-X\fP switch is also specified.  The default
  286. Xvalue is 100.
  287. X.\"
  288. X.IP "\fB\-I\fP \fIcolor\fP"
  289. XUse \fIcolor\fP for the area around the images when the \fB\-i\fP switch
  290. Xis used.  This switch will be ignored if the \fB\-i\fP switch is not also
  291. Xspecified.  The default value is ``black''.
  292. X.\"
  293. X.IP \fB\(+-i\fP
  294. XMake all of the images the same size.  The size of the images is
  295. Xdetermined by the dimensions specified with the \fB\-w\fP and \fB\-h\fP
  296. Xswitches.  Use of this switch can create contact sheets with lots of
  297. Xblank space between images.  This switch cannot be used with the
  298. X\fB\-X\fP or \fB\-Y\fP switches.
  299. X.\"
  300. X.IP "\fB\-K\fP \fIfile\fP"
  301. XUse \fIfile\fP as the configuration file.  The default configuration
  302. Xfile name is ``~/.icrc''.  Putting this switch in the configuration
  303. Xfile will have no effect since once you're in a configuration file,
  304. Xit's too late to switch to another one.
  305. X.\"
  306. X.IP \fB\(+-k\fP
  307. XDon't reference the configuration file.  Putting this switch in the
  308. Xconfiguration file will have no effect since once you're in the
  309. Xconfiguration file, it's too late to back out.
  310. X.\"
  311. X.IP \fB\(+-L\fP
  312. XWhen creating sheets, use left justification on the rows instead of
  313. Xthe default center justification.
  314. X.\"
  315. X.IP \fB\(+-l\fP
  316. XAttach a label containing the image's file name below each image.  This
  317. Xname may be truncated if the label is wider than the image.  The
  318. Xbehavior of this switch can be changed with the \fB\-b\fP, \fB\-F\fP, and
  319. X\fB\-T\fP switches.
  320. X.\"
  321. X.IP "\fB\-N\fP \fIvalue\fP"
  322. XUse \fIvalue\fP as the nice value for all child processes.  The default
  323. Xvalue is 0.  Only root may specify negative nice values.
  324. X.\"
  325. X.IP "\fB\-n\fP \fIfile\fP"
  326. XTake the file names from \fIfile\fP and add them to the ones specified
  327. Xon the command line, if any.  The file names in \fIfile\fP must be one
  328. Xper line.  These file names will be processed after the file names
  329. Xspecified on the command line.
  330. X.\"
  331. X.IP \fB\(+-O\fP
  332. XFind the number for the first sheet by looking in the destination
  333. Xdirectory for sheets with the same prefix and format that we are going
  334. Xto create.  Take the highest numbered one, increment, and this is the
  335. Xnew starting number for the new sheets.  If there are no files with the
  336. Xsame prefix and format in the destination directory, the new sheets
  337. Xwill start with 001.  This switch cannot be used with the \fB\-o\fP
  338. Xswitch.
  339. X.\"
  340. X.IP "\fB\-o\fP \fIn\fP"
  341. XThe output sheet numbering will begin with \fIn\fP and increase from
  342. Xthere.  This switch cannot be used with the \fB\-O\fP switch.  The
  343. Xdefault value is 001.
  344. X.\"
  345. X.IP "\fB\-P\fP \fIsuffix\fP"
  346. X\fIsuffix\fP will be used as the extension of the contact sheet
  347. Xparameter files if the \fB\-g\fP switch is specified.  See the
  348. X\fB\-g\fP switch description for more details.  The default value is
  349. X``.icp''.
  350. X.\"
  351. X.IP "\fB\-p\fP \fIprefix\fP"
  352. XName the contact sheets \fIprefix###.format\fP, where \fI###\fP is the
  353. Xnumber of the contact sheet and \fIformat\fP is the format of the
  354. Xcontact sheet.  The default value is ``ic\-''.
  355. X.\"
  356. X.IP "\fB\-Q\fP \fIquantization program\fP"
  357. XUse \fIquantization program\fP to quantize the contact sheets.  The
  358. X\fIquantization program\fP should accept ppm format files as input and
  359. Xtake one numeric argument specifying the number of colors to be left in
  360. Xthe contact sheets.  It is possible to use a pipeline such as: ``cjpeg
  361. X-Q 100 | djpeg -q''.  The default value is: ``ppmquant -fs''.
  362. X.\"
  363. X.IP "\fB\-q\fP \fIn\fP"
  364. XQuantize the contact sheets down to \fIn\fP colors.  A value of 0 will
  365. Xturn off quantization.  The default value is 0.
  366. X.\"
  367. X.IP "\fB\-r\fP \fIn\fP"
  368. XMake the contact sheets with \fIn\fP rows of images.  This switch is
  369. Xignored if the \fB\-a\fP switch is specified.  The default value is 7.
  370. X.\"
  371. X.IP \fB\(+-S\fP
  372. XSort the file names taken from the command line (and, optionally, from
  373. Xthe file specified with the \fB\-n\fP switch) into alphabetical order
  374. Xbefore making the sheet.
  375. X.\"
  376. X.IP \fB\(+-s\fP
  377. XDon't output anything except warnings and fatal errors.
  378. X.\"
  379. X.IP "\fB\-T\fP \fIcolor\fP"
  380. XUse \fIcolor\fP as the color of the text of the image labels.  The
  381. Xformat of \fIcolor\fP may be any that \fIpgmtoppm\fP understands.  The
  382. Xdefault value is ``white''.
  383. X.\"
  384. X.IP "\fB\-t\fP \fItempdir\fP"
  385. XUse \fItempdir\fP to hold \fIicontact\fP's intermediate files.
  386. X\fIicontact\fP tries to minimize the amount of temporary space it
  387. Xneeds, but it's disk space requirements can be large depending upon the
  388. Xparticular operation it is performing.  If you have a tiny /tmp
  389. Xdirectory, you'll want to use this switch to aim \fIicontact\fP at a
  390. Xlarger chunk of disk.  The default value is ``/tmp''.
  391. X.\"
  392. X.IP \fB\(+-u\fP
  393. XDelete duplicate entries in the list of image file names.  The first
  394. Xfile with any particular name will make it through, but following files
  395. Xwith the same name will be deleted from the file name list.  The
  396. Xdefault it to allow duplicate file names.
  397. X.\"
  398. X.IP \fB\(+-v\fP
  399. XCause all sorts of possibly interesting output to be printed to the
  400. Xscreen.  The output includes the current parameters of \fIicontact\fP
  401. Xand all the shell commands it is running.  If you're having difficulty
  402. Xgetting \fIicontact\fP to do what you want it to do, try using this
  403. Xswitch to see what \fIicontact\fP is doing behind your back.
  404. X.\"
  405. X.IP "\fB\-w\fP \fIn\fP"
  406. XMake each image in the contact sheets a maximum of \fIn\fP pixels
  407. Xwide.  The aspect ratio of the images will not be changed.  This switch
  408. Xwill be ignored if the \fB\-Y\fP switch is also specified.  The default
  409. Xvalue is 100.
  410. X.\"
  411. X.IP \fB\(+-X\fP
  412. XThis switch will make all the images the same width.  Their heights
  413. Xwill be whatever they are when the image comes out of \fIpnmscale\fP.
  414. XThe aspect ratios of the images will not be changed.  Wide images will
  415. Xbe short and tall images will be tall.  This switch cannot be used with
  416. Xthe \fB\-i\fP or \fB\-Y\fP switches.
  417. X.\"
  418. X.IP "\fB\-x\fP \fIn\fP"
  419. XWhen used with the \fB\-a\fP switch, \fIn\fP specifies the width of the
  420. Xoutput sheets in pixels.  This switch will be ignored unless the
  421. X\fB\-a\fP switch is specified.  The default value is 1152.
  422. X.\"
  423. X.IP \fB\(+-Y\fP
  424. XThis switch will make all the images the same height.  Their widths
  425. Xwill be whatever they are when the image comes out of \fIpnmscale\fP.
  426. XWide images will be wide and tall images will be skinny.  The aspect
  427. Xratios of the images will not be changed.  This switch cannot be used
  428. Xwith the \fB\-i\fP or \fB\-X\fP switches.
  429. X.\"
  430. X.IP "\fB\-y\fP \fIn\fP"
  431. XWhen used with the \fB\-a\fP switch, \fIn\fP specifies the height of
  432. Xthe output sheets in pixels.  This switch will be ignored unless the
  433. X\fB\-a\fP switch is specified.  The default value is 900.
  434. X.\"
  435. X.IP "\fB\-z\fP \fIcolor [color ...]\fP"
  436. XWhen used with the \fB-B\fP switch, the layers of the borders around
  437. Xthe images will be striped (from the inside out) with the colors
  438. Xspecified after this switch.  Double quotes should be used to group the
  439. Xcolors together with whitespace in between.  The colors can be in any
  440. Xformat that \fIppmmake\fP understands.  The default is ``white black white''.
  441. X.\"
  442. X.SH ENVIRONMENT
  443. X.IP "\fBTMPDIR, TEMPDIR\fP"
  444. XThese environment variables can be used to set the location of
  445. X\fIicontact\fP's temporary directory.  If both \fBTMPDIR\fP and
  446. X\fBTEMPDIR\fP are set, a warning will be printed and the value of
  447. X\fBTMPDIR\fP will be used.  If only one of them is set, that one will
  448. Xbe used.  This value will be overridden if the \fB\-t\fP switch is used
  449. Xon the command line or in the configuration file.
  450. X.\"
  451. X.SH FILES
  452. X.IP "configuration file"
  453. XThe name of the default configuration file is \fB.icrc\fP in your home
  454. Xdirectory.  The proper syntax of this file is as follows:  Comments
  455. Xbegin with a \fB#\fP and terminate with a newline.  Lines may be
  456. Xblank.  Double quotes may be used to group words together after the
  457. Xkeyword \fBswitches\fP.  Configuration lines begin with one of the
  458. Xfollowing keywords:  \fBencode\fP, \fBdecode\fP, \fBswitches\fP, or
  459. X\fBquantize\fP.  Lines beginning with \fBencode\fP are used to define
  460. Xcommands \fIicontact\fP will use to encode files into a specific
  461. Xformat.  Lines beginning with \fBdecode\fP are used to define commands
  462. X\fIicontact\fP will use to decode files of a specific format.  Lines
  463. Xbeginning with \fBquantize\fP are used to define the quantization value
  464. Xof sheets created in a specific format.  The format of lines beginning
  465. Xwith \fBencode\fP, \fBdecode\fP or \fBquantize\fP is this:
  466. X.sp
  467. X.ce
  468. X<\fIkeyword\fP>\ <\fIformat\fP>\ <\fIvalue\fP>
  469. X.sp
  470. X<\fIformat\fP> may not contain whitespace, but <\fIvalue\fP> may.  If
  471. X<\fIkeyword\fP> is \fBquantize\fP, then <\fIvalue\fP> must be a non
  472. Xnegative integer.  The format of lines beginning with \fBswitches\fP is
  473. Xthis:
  474. X.sp
  475. X.ce
  476. X\fBswitches\fP\ <\fIcommand\ line\ switches\fP>
  477. X.sp
  478. X<\fIcommand\ line\ switches\fP> may be any set of switches that you can
  479. Xspecify on the command line and may contain whitespace.
  480. X.sp
  481. X.nf
  482. X.in +0.5i
  483. X.ft CW
  484. X# sample icontact configuration file
  485. X
  486. Xswitches    -g             # parameter file generation
  487. Xswitches    -B             # borders
  488. Xswitches    -l             # add labels
  489. Xswitches    -b             # basename(1) the labels
  490. Xswitches    -S             # sort all the filenames
  491. Xswitches    -v             # verbose
  492. Xswitches    -a             # automatic sizing
  493. Xswitches    -x 640         # screen width
  494. Xswitches    -y 480         # screen height
  495. Xswitches    -Q ppmquant    # quantization program
  496. X# OR:
  497. X# switches  -gBlBSvWax 640 -y 480 -Q ppmquant
  498. X
  499. Xencode      jpg     cjpeg -o
  500. Xdecode      jpg     djpeg
  501. X
  502. Xencode      ppm     
  503. Xdecode      ppm     
  504. X
  505. Xquantize    gif     256
  506. Xquantize    jpg     0
  507. X.ft R
  508. X.in -0.5i
  509. X.sp
  510. X.fi
  511. X.\"
  512. X.IP "contact sheet parameter files"
  513. XThese files are lists of file names (one per line) followed by the
  514. Ximage's \fIx\fP and \fIy\fP offsets into the contact sheet and then the
  515. Ximage's height and width.  They are created by using the \fB\-g\fP
  516. Xswitch.  These files allow blank lines and comments beginning with
  517. X\fB#\fP and terminating with a newline.
  518. X.\"
  519. X.IP \fBTMPDIR/icb\-$$\fP
  520. Xa temporary file for storing the image border when the \fB\-i\fP and \fB\-B\fP
  521. Xswitches are specified
  522. X.\"
  523. X.IP \fBTMPDIR/icc\-$$\fP
  524. Xtemporary file for storing a color pixmap for background colorization
  525. X.\"
  526. X.IP \fBTMPDIR/ice\-$$\fP
  527. Xa temporary file for holding the image pad when the \fB\-i\fP switch is
  528. Xspecified
  529. X.\"
  530. X.IP \fBTMPDIR/ici#\-$$\fP
  531. Xtemporary files for storing images before they are made into rows
  532. X.\"
  533. X.IP \fBTMPDIR/icp#\-$$\fP
  534. Xtemporary files for holding expanded sheets while \fIicontact\fP cuts
  535. Ximages out of them
  536. X.\"
  537. X.IP \fBTMPDIR/icr#\-$$\fP
  538. Xtemporary files for storing rows before they are made into sheets
  539. X.\"
  540. X.IP \fBTMPDIR/ict\-$$\fP
  541. Xa temporary file for storing labels and borders
  542. X.\"
  543. X.SH "SEE ALSO"
  544. X\fIbasename(1)\fP, \fIperl(1)\fP, \fIpbm(5)\fP, \fIpgm(5)\fP,
  545. X\fIppm(5)\fP, \fIcjpeg(1)\fP, \fIdjpeg(1)\fP
  546. X.\"
  547. X.SH DIAGNOSTICS
  548. XThe diagnostic messages are intended to be self explanatory.  If
  549. X\fIicontact\fP dies and tells you that a pipeline returned an
  550. Xunsuccessful exit code and you can't tell what caused the crash, try
  551. Xrunning the same command with the \fB\-v\fP switch.  You should then be
  552. Xable to see what part of the pipeline was not successful.
  553. X.\"
  554. X.SH BUGS
  555. X.PP
  556. XIf an image's file name has ``.'''s in it that do not come before a
  557. Xrecognized file format extension, the unrecognized extensions will be
  558. Xignored and \fIicontact\fP will try to decode the image using the
  559. Xremaining extensions.  It may guess wrong, though, and the decode
  560. Xcommand may fail.
  561. X.PP
  562. X\fIicontact\fP allows you to specify stupid output formats like
  563. X``.gif.Z''.
  564. X.PP
  565. XWhen in automatic sheet sizing mode (\fB\-a\fP), if a single processed
  566. Ximage is larger than the dimensions of a sheet, this image will appear
  567. Xin a sheet all by itself, and the sheet will be larger than you
  568. Xspecified with \fB\-x\fP and \fB\-y\fP.
  569. X.PP
  570. X\fIicontact\fP will most likely fail if it is used on filenames that
  571. Xcontain whitespace.
  572. X.PP
  573. XWhen images are cut out of previously made contact sheets by specifying
  574. Xa parameter file on the command line, they are not rescaled.  So, even
  575. Xthough you may have specified \fB\-w 100 \-h 100\fP this time, the
  576. Ximages cut from the previously made contact sheet will be the same size
  577. Xthey were when that sheet was first made.  This shouldn't be a problem for
  578. Xyou if you choose an image size early and stick with it.
  579. X.\"
  580. X.SH AUTHOR
  581. XMark Hanson
  582. X.br
  583. X8693 Via Mallorca #15
  584. X.br
  585. XLa Jolla, CA 92037\-2575
  586. X.br
  587. Xcs62a12@wind.ucsd.edu
  588. X.sp
  589. XBug reports, patches, suggestions, questions, and money are all welcome.
  590. X.sp
  591. X\fIicontact\fP is:
  592. X.br
  593. XCopyright (C) 1992 Mark B. Hanson
  594. X.br
  595. XPermission to use, copy, modify, and distribute this software and its
  596. Xdocumentation for any purpose and without fee is hereby granted,
  597. Xprovided that both the above copyright notice and this permission
  598. Xnotice appear in all copies and in supporting documentation.  This
  599. Xsoftware is provided ``as is'' without express or implied warranty.
  600. END_OF_FILE
  601. if test 19275 -ne `wc -c <'icontact.1'`; then
  602.     echo shar: \"'icontact.1'\" unpacked with wrong size!
  603. fi
  604. # end of 'icontact.1'
  605. fi
  606. echo shar: End of archive 1 \(of 2\).
  607. cp /dev/null ark1isdone
  608. MISSING=""
  609. for I in 1 2 ; do
  610.     if test ! -f ark${I}isdone ; then
  611.     MISSING="${MISSING} ${I}"
  612.     fi
  613. done
  614. if test "${MISSING}" = "" ; then
  615.     echo You have unpacked both archives.
  616.     rm -f ark[1-9]isdone
  617. else
  618.     echo You still need to unpack the following archives:
  619.     echo "        " ${MISSING}
  620. fi
  621. ##  End of shell archive.
  622. exit 0
  623.  
  624. exit 0 # Just in case...
  625.