home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HomeWare 14
/
HOMEWARE14.bin
/
graphvew
/
gifwrp15.arj
/
GIFWARP.DOC
< prev
next >
Wrap
Text File
|
1993-05-22
|
15KB
|
350 lines
G I F W A R P !
Version 1.5
May 20 , 1993
A Transformation Program for Your GIF(tm) Pictures
Copyright 1990,1993 Steve Enns and Dan Magosse,
All right reserved.
GIFWARP! is produced by:
Steve Enns Dan Magosse
44 Macdermid Cres. 1321 14th St. East
Saskatoon, Sk. Saskatoon, Sk.
Canada S7J 2R2 Canada S7H 0A6
Our motto:
"We endeavour to pursue faithfully the highest principles in
sophisticated program design and development - until we're
offered more money or more exciting jobs."
Top Ten Phrases heard around this lab:
"What does `File Allocation Table Bad' mean?"
"Where was that bottle?"
"Sure it's weird, but will it sell?"
"Are these deductions right?"
"Where's that Stones tape?"
"Yah, C is okay, but can you do it in FORTRAN?"
"Where was that bottle?"
"I thought YOU fed the sled dogs!"
"Error handling? What's that?"
"Where was that bottle?"
Okay, here's the boring stuff, but don't worry, it's better
than chewing tinfoil:
ACKNOWLEDGEMENTS
Kudos, thanks, and good karma to John Bridges for the
enlightening information and code contained in his VGAKIT
package. Trademarks like GIF(tm) and PC(tm) are held by
their respective companies.
DISCLAIMER
The GIFWARP! program is provided without warranty of any
kind. The user of the GIFWARP! assumes complete
responsibility for any and all incidental or consequential
damages which may occur during normal or abnormal use of the
GIFWARP! program. Use the GIFWARP! program at your own
risk.
LICENSE
The entire GIFWARP! package, including the GIFWARP! program,
documentation, and sample files are Copyright 1990,1993
Steve Enns and Dan Magosse. All rights reserved. The
unregistered shareware version of the GIFWARP! may be freely
distributed to others by any means, as long the following
(three) conditions are met:
1) GIFWARP! is distributed in a "package" containing
the following three files:
GIFWARP.EXE
GIFWARP.DOC
GW-READ.ME
2) GIFWARP! is not distributed as part of any other
product, except with specific written permission from
the authors.
3) NO fee of any kind is charged for the GIFWARP!
package or for the service of providing the package,
except Computer Bulletin Board Systems, which may
distribute the GIFWARP! package even though they may
charge a membership or service fee.
You can use the "shareware" version for as long as you want,
even until you're well into your nineties, but you are of
course encouraged to send us lots of money, too. (I'm
struggling to pay for my violin lessons, and Dan needs a new
fishing rod.) On the other hand, a "registered" version of
GIFWARP! is available from the authors for $8.00 U.S. The
registered version provides support for 512K and 1024K
SuperVGA cards from most manufacturers (see REQUIREMENTS
below). The registered version is licensed to the
purchaser exclusively, and may not be distributed to others.
To order the SuperVGA version of GIFWARP!, send $8.00 U.S.
to the "Steve Enns" guy mentioned above. You will receive a
5.25" (sorry NO 3.5" disks!) disk with the latest SuperVGA
version of GIFWARP! If you send $23.00 or more, you will
also the receive licensed SuperVGA versions of:
GIFCLIP Crop the borders from your GIF(tm) pictures -
cut pieces from GIFs, add text or GIF logos
or taglines.
GIFSIZE Resize your GIFs. Resize parts of your GIFs,
or shrink the entire picture to the size of
an icon.
GIFEXE Make your GIF(tm) into an executable program.
Just run the program to display the picture.
Special effects for demos or displays, or
title screens for your programs. Supports
SuperVGA.
Look for the unlicensed shareware versions of GIFCLIP,
GIFSIZE and GIFEXE on your favourite bulletin board system.
REQUIREMENTS
GIFWARP! requires the following:
- A strange desire to warp GIF(tm) pictures
- PC(tm)/XT(tm)/AT(tm)/386(tm) computer thing
- About 280K of free RAM
- DOS 3.0, 3.1, 3.2, 3.3, 4.0 (others untested)
- A mouse that at least claims to be
compatible with something
- A VGA or SuperVGA card
- Some GIF(tm) pictures to warp!
and optionally:
- Really artsy attitude with a preference for
Dali or Cubist Picasso
- Those chips that do that strange math stuff
(8087/80287 or 80387 Especially helpful
for big, high res transformations)
- SuperVGA - The registered SuperVGA version of
GIFWARP! supports modes like 640x480, 800x600
and 1024x768 with 256 colours on 512K SuperVGA
cards from ATI, Ahead, Cirrus, Chips and
Technologies, Everex, OAK, Paradise, Trident,
Tseng, Compaq, Video7, VESA, NCR, Genoa.
See the LICENSE section above for ordering
information.
INSTALLATION
Copy the GIFWARP! program (and this helpful document of
course!) to any directory that you want - perhaps with
your favourite GIF(tm) viewer somewhere in the DOS
path.
USAGE
Syntax for GIFWARP! is as follows:
GIFWARP [?] infilename[.GIF] [outfilename[.GIF]]
/autoscale
or
GIFWARP [?] infilename[.GIF] [outfilename[.GIF]]
/mode={0,1,2,3} /autoscale
for the registered version. ( The /mode=n parameters are as
follows: /mode=0 Ordinary 320x200 mode
/mode=1 Low resolution SVGA
640x400 or 640x350
depending on your card.
/mode=2 Medium resolution 640x480
/mode=3 High resolution 800x600
/mode=4 Higher resolution 1024x768
is supported on some
1024K cards. Try a VESA driver!)
The /autoscale switch will try to scale the GIF to fit on
the screen when the specified screen mode is much larger
than the image.
For example, try:
C> GIFWARP to see the title screen
C> GIFWARP ? to see the help/brag screen
C> GIFWARP house to view/warp the file
HOUSE.GIF writing the warped
picture (if any) to the
default name GIFWARP.GIF
C> GIFWARP house house2 view/warp the file HOUSE.GIF,
writing output to HOUSE2.GIF
With the registered version:
C> GIFWARP car /mode=2 View/warp CAR.GIF using medium
resolution SuperVGA
TUTORIAL
(Just play around with GIFWARP! for a while - you'll get the
hang of it very quickly...)
Try out the following with your favourite GIF(tm) picture:
C> GIFWARP picturename
GIFWARP! will load the picture and display it one your
screen. A rectangle will appear in the centre of the
picture. The rectangle is divided into four smaller
rectangles, and the entire rectangle will move with the
mouse. This "target box" allows you to choose areas of the
picture that you want to warp. You can change the size of
the target box using the arrow keys or number pad.
Choose an area of the picture, and move the target
box to that area. Change the size of the box if you want.
Now, press the left mouse button. After pressing the left
mouse button, when you move the mouse the target box will no
longer move, but you will now be changing the shape of the
four smaller rectangles that make up the target box. (If
you want to move the target box to a different area of the
picture, just press the left mouse button again - you can
then move the target box again.) Position the mouse to
choose a new shape of the smaller rectangles, and then press
the right mouse button.
The picture will now be warped according to the new
shape of the smaller rectangles. This process may be
repeated as often as desired. Just remember that the left
mouse button is used to select the area to be warped, and
the shape of the warp, the right mouse button is used to do
the warp.
After you have warped the picture, press the <ENTER> or
<RETURN> key to save the warped picture onto disk. The
picture will be saved with the name GIFWARP.GIF, or the
output name that you specified when you started GIFWARP!.
If you don't want to save the picture, then just press the
<ESC> key, and GIFWARP! will exit without saving the current
picture.
HINTS
- Try subtle as opposed to drastic choices when choosing a
warp. Subtle changes will usually look more "realistic,"
although dramatic changes may also produce interesting
effects.
- GIF(tm) pictures of faces and animals can be warped to
produce a variety of interesting effects. You can do really
strange things to faces - pinnochio noses and stuff like
that. Warps of ordinary pictures like cars, scenery or
houses can also produce truly bizarre and surreal effects.
Upload your best warped GIFs to a local Bulletin Board
System, or from wherever you got GIFWARP!
- Some degradation in picture quality is always produced by
the warping process. These artifacts can be minimized by
careful choice of warps, and by not "re-warping" the same
area over and over again, as the quality will be reduced
each time the area is processed. If the warped picture has
been really messed up, then just hit <ESC>, and start again.
(The best solution, is of course to purchase the registered
SuperVGA version for a measly $8.00 U.S. The resolution of
the SuperVGA modes allows for the most "realistic" and
highest quality transformations.)
ERRORS
- The following self explanatory error messages may be
produced by GIFWARP! The errors involving the GIF(tm) files
will generally be due to disk errors or faulty image files.
Other errors refer to lack of enough free RAM space, or lack
of required hardware (VGA and Mouse).
Can't initialize VGA graphics!
Mouse driver not installed.
Can't allocate mouse memory!
Unexpected EOF reading GIF!
Premature end of GIF!
Not GIF file!
Invalid GIF format
Error writing GIF!
Buffer allocation failure!
NOTES
- Look for example images warped by GIFWARP! on your
favourite Bulletin Board System. Examples from us will
probably be named nGIFWARP.GIF where "n" is a number or
letter.
- GIFWARP! reads both GIF87A standard (the original) and
new GIF89A pictures, although most of the extensions in the
new GIF89A standard like (silly) text windows are ignored.
The last image in multi-image GIFs will be the one displayed
for warping in GIFWARP!
- Although only the registered copy of GIFWARP! provides
full SuperVGA resolution, all GIF pictures can be decoded
and displayed on all versions of GIFWARP! If the image is
too large for the available resolution, the image will be
centred on the screen. You will see the middle 320x200
pixels of the image when the entire image is larger than
320x200, for example. The registered version of GIFWARP!
will display images at resolutions up to 1024x768 according
to the size of the picture, or the specified mode. (When
specifying a mode with a resolution higher than the image,
an image will be displayed at the resolution of the screen,
which allows high resolution warping to be done on lower
resolution images.)
HISTORY
- Version 1.0 Completed Nov.1 1990
- Version 1.2 Completed Sep.15 1991
Support for some additional SuperVGA cards, and
1024x768x256 modes on some 1024K cards. This is
primarily due to Bridges' new VGAKIT35.
- Version 1.3 Completed Sep.20 1991
/autoscale is now an option.
- Version 1.4 BIG OL' BUG which disabled SuperVGA in
registered versions is now fixed.
- Version 1.5 Completed May.20 1993
Support for more graphics hardware, including much
better VESA support. S3 and other Windows accelerator
cards which support VESA are now supported.
PROPOSED FUTURE ENHANCHMENTS
These enhancments might be encorporated into GIFWARP! at
some point in the future. (Especially if I lose my job, and
have lots of free time.)
- "Undo feature" - remove effect of last warp operation.
- Support for other graphics hardware. Hopefully, we will
be able to support new hardware and graphics modes as they
are introduced.
- Support for other file formats?
- Faster GIF(tm) decoding and encoding
- Faster mapping.