Subversion Repositories wimsdev

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
10 reyssat 1
.\" whirlgif.1
2
.\"
3
.\" The Graphics Interchange Format (c) is the Copyright property of
4
.\" Compuserve Incorporated.  GIF(sm) is a Service Mark property of
5
.\" Compuserve Incorporated.
6
.\"
7
.TH WHIRLGIF 1 "February 1999"
8
.AT 3
9
.SH NAME
10
whirlgif \- reads a series of GIF87a or
11
GIF89a files, and produces
12
one single GIF89a file composed of those images.
13
.SH SYNOPSIS
14
.B whirlgif
15
.RI [ "global-options" ]
16
.RI [ "file-options " { GIFfile "|\fB-i\fP " incfile "}] ..."
17
.sp
18
The
19
.I global-options
20
are one or more of:
21
.br
22
.in +5
23
.B  \-v
24
.br
25
.BI \-trans " index"
26
.br
27
.BR \-background " {\fIcolor\fP|\fIindex\fP}"
28
.br
29
.B \-time
30
.I delay
31
.br
32
.B \-globmap
33
.br
34
.B \-minimize
35
.br
36
.B \-o
37
.I outfile
38
.br
39
.B \-loop
40
.RI [ count ]
41
.br
42
.B \-comment
43
.I comment
44
.br
45
.B \-disp
46
.I method
47
.in -5
48
.sp
49
The
50
.I file-options
51
are one or more of:
52
.br
53
.in +5
54
.B \-off
55
.I x:y-pair
56
.br
57
.BR \-trans " {\fIcolor\fP|\fIindex\fP}"
58
.br
59
.B \-time
60
.I delay
61
.br
62
.B \-disp
63
.I method
64
.sp
65
.SH DESCRIPTION
66
When
67
.I Whirlgif
68
processes a series of GIF files,
69
the first file defines the so called screen size and the background
70
color of the resulting GIF.  The background color may be changed by an
71
option.
72
.sp
73
The input files may be in either GIF87a or GIF89a format.  If a GIF
74
file contains more than one image, only the first image is read.  To
75
help saving bandwidth on the internet, there are options for forcing
76
all GIFs in the series to use the same color map and to create
77
sub-GIFs which only give the difference between one image and the next.
78
.PP
79
.SH OPTIONS
80
.PP
81
.TP
82
.B \-v
83
Verbose mode.  Output is written to the error out file.
84
This is a global option and must be given before any
85
.IR GIFfile s.
86
.TP
87
\fB\-trans\fP \fIindex\fP|\fIcolor\fP
88
Set the color identified with
89
.I index
90
or the color code
91
.BI # xxxxxx \fR,\fP
92
where
93
.I xxxxxx
94
is a hex
95
.B RGB
96
index to be transparent.
97
When this option is used as a
98
.IR file-option ,
99
its setting is valid for all subsequent
100
.IR GIFfile s,
101
until it is used again.
102
 
103
.TP
104
\fB\-background\fP index
105
Set the color identified with its
106
.I index
107
to be the background color, possibly
108
overriding the background color defined in the first
109
.IR GIFfile .
110
This is a global option and must be given before any
111
.IR GIFfile s.
112
.TP
113
\fB\-time\fP \fIdelay\fP
114
Defines inter\-frame timing in units of 1/100 second.  Whenever a value of
115
\fIdelay\fP is set by means of the \fB\-time\fP option, this value will
116
be valid for the following
117
.IR GIFfile s
118
until a new value is set.
119
.TP
120
\fB\-globmap\fP
121
Use the color map of the first
122
.I GIFfile
123
as the global color map throughout
124
the
125
.IR outfile .
126
If the color maps of subsequent
127
.IR GIFfile s
128
contain
129
colors that are not in the global color map, the nearest colors in a
130
3 dimensional RGB space will be chosen.
131
This is a global option and must be given before any
132
.IR GIFfile s.
133
.TP
134
\fB\-minimize\fP
135
Only the smallest rectangles covering the difference between two
136
.IR GIFfile s
137
will be output.  All
138
.IR GIFfile s
139
must be of the same size and have the same offset.
140
This is tested, and may result in an error message.
141
This is a global option and must be given before any
142
.IR GIFfile s.
143
.sp
144
As a side effect, the \fB\-minimize\fP
145
option forces the same (global)color map to be used throughout the
146
.IR outfile .
147
.TP
148
\fB\-o\fP outfile
149
Write the results to
150
.I outfile
151
This is a global option and must be given before any
152
.IR GIFfile s.
153
.TP
154
\fB\-loop\fP [\fIcount\fP]
155
Add the Netscape 'loop' extension.  If count is omitted, 0 (zero) is
156
assumed.
157
This is a global option and must be given before any
158
.IR GIFfile s.
159
.TP
160
.B "\-comment \fIcomment\fP"
161
Define a \fBComment Extension\fP block
162
within the resulting GIF file.
163
This block will be written at the end of the file.
164
A comment block can be at most 254 characters long, including line
165
shifts.
166
It may be used for copyright notices.
167
This is a global option and must be given before any
168
.IR GIFfile s.
169
.TP
170
\fB\-disp\fP \fImethod\fP
171
Sets the image 'disposal' method.  When this option is used as a
172
.IR file-option ,
173
its setting is valid for all subsequent
174
.IR GIFfile s,
175
until it is used again.  The methods may be one of
176
the keywords:
177
.sp
178
.in +5
179
.ti -5
180
.B none
181
No disposal specified.
182
.sp
183
.ti -5
184
.B back
185
Restore to background color.
186
Fill the image's space with the background color.
187
.sp
188
.ti -5
189
.B prev
190
Restore to previous, restores the screen area
191
to what was there before.  Netscape has a problem with this option.
192
.sp
193
.ti -5
194
.B not
195
Do not dispose.  The default, the next image will overlay this one.
196
.sp
197
.in -5
198
.TP
199
\fB\-i\fP incfile
200
Read a list of names from
201
.I incfile
202
.TP
203
.B "\-off \fIx:y-pair\fP"
204
Sets the position of the next
205
.I GIFfile
206
or the set of
207
.IR GIFfile s
208
in an
209
.IR incfile .
210
.sp
211
The \fIx:y-pair\fP consists of two integers, separated by one
212
character which cannot be part of a number.  A colon, ':' is preferred.
213
The two integers define the position of the upper left corner of the
214
next image within the 'screen' of the resulting GIF.
215
The integers are added to a possible offset within the next
216
.IR GIFfile .
217
One or both may be negative.
218
Negative numbers will re-position an image upwards
219
and/or to the left within its own 'screen'.
220
The 'screen' of a GIF is the term used in the GIF definitions for the
221
area, a GIF covers.
222
.SH TIPS
223
.PP
224
If you don't specify an output file, the GIF will be sent to stdout.
225
This is a good thing if you're using whirlgif in a CGI script,
226
but could cause problems if you run from a terminal and forget to
227
redirect stdout.
228
.sp
229
The output file (if any) and the loop option
230
.B MUST
231
be specified before any GIF images.
232
.sp
233
You can specify several delay statements on the command line to change
234
the delay between images in the middle of an animation, e.g.
235
.sp
236
.ti -5
237
whirlgif \-time 25 a.gif b.gif c.gif \-time 100 d.gif \-time 25 e.gif f.gif
238
.sp
239
Usually, the bacground color is defined by the first
240
.IR GIFfile ,
241
and often it is index number zero (0).
242
If you are animating with a transparent color,
243
a good method is usually to use the same color as the background.
244
.sp
245
It is possible, but may cause problems for some programs, to specify
246
several transparency statements on the command line.
247
.sp
248
The size of the resulting GIF and the global color map is
249
defined by the first
250
.IR GIFfile .
251
If you have a large background GIF and have several smaller GIFs, you
252
may make some kind of a bulletin board by a command of the following form:
253
.sp
254
.ti -5
255
whirlgif large.gif -off 77:44 small1.gif -off 22:99 small2.giff ...
256
.sp
257
You may build in some timing between the small GIFs.
258
.SH LIMITATIONS
259
.PP
260
The loop 'count' is ineffective because Netspcape always loops infinitely.
261
.SH BUGS
262
.PP
263
.I Whirlgif
264
should be able to specify delay and offset in an 'incfile' list (see next bug).
265
.sp
266
Does not handle filenames starting with a \- (hypen), except in 'incfile'.
267
.SH TODO
268
.PP
269
.ti +2
270
\- Make a graphic interface.  Perhaps by re-implementing the
271
algorithms in Java(tm).
272
.sp
273
.ti +2
274
\- option for other choices of unification methods for colormaps.
275
The nearest point in the 3 dimensional RGB color space may not be
276
the best choice.
277
.sp
278
.ti +2
279
\- define extension block in order to have frame lists.
280
.sp
281
.ti +2
282
\- define single-letter options and use
283
.IR getopt (3)
284
like most UNIX programs.
285
.SH AVAILABILITY
286
.PP
287
This program is available via the
288
archive for comp.soruces.unix
289
.B http://sources.isc.org/
290
(and also via http://www.danbbs.dk/~dino/whirlgif/ ).
291
.SH AUTHORs
292
.PP
293
V3.00 \- 3.04 Hans Dinsen-Hansen <dino@danbbs.dk>
294
.br
295
Based on
296
Whirlgif V2.02 by Kevin Kadow <kadokev@msg.net>
297
.br
298
.ti +5
299
& Hans Dinsen-Hansen <dino@danbbs.dk>
300
.br
301
which is again based on 'txtmerge' written by:
302
.br
303
Mark Podlipec <podlipec@BayNetworks.com> 
304
.br
305
Man Page by Mintak Ng <mintak@hitak.com>
306
.br
307
.ti +5
308
& Hans Dinsen-Hansen <dino@danbbs.dk>
309
.sp
310
.SH COPYRIGHT NOTICES
311
.PP
312
The Graphics Interchange Format (c) is the Copyright property of
313
Compuserve Incorporated.  GIF(sm) is a Service Mark property of
314
Compuserve Incorporated.
315
.sp
316
See other Copyright notices in the accompanying texts.