10 Aug 1989

This is C source code for a program to do filtered zoom (resize) of 8
and 24-bit raster images.  The program supports arbitrary floating
point scale and translation with independent control of x and y scales,
upsampling (interpolation) or downsampling (decimation), 1-channel
black and white or 3-channel color pictures, overlapping source and
destination windows within the same frame buffer, and separable
filtering with a large choice of filters.  It can also be used for
in-place separable filtering of images.

This directory contains:
    libsys:
	one header file
    libpic:
	Subroutine package for device-independent picture I/O.
	Modify this to add picture I/O capability for your own frame buffers
	and file formats to the pic package and thereby to the zoom program.
	Read the man page pic.3 to learn how.
    zoom:
	Source for the main program zoom, and a set of useful filter routines.
	This code is graphics device independent, so you shouldn't have
	to modify it.

Run "make install" and it should create subdirectories include, lib, and bin,
leaving the zoom program in bin/zoom.  Note that you shouldn't expect this
to compile as is, as it's currently configured to link in the
Silicon Graphics iris library.  Again, see the notes under
"CREATING A DEVICE LIBRARY" in libpic/pic.3

Please email me any enhancements, such as new device libraries for libpic;
I'll collect and redistribute.  (I already have libpic device libraries for
memory frame buffers, various MIT, NYIT, Pixar, Xerox PARC, and UC Berkeley
picture file formats, Sunraster format, Utah raster toolkit RLE format,
a fairly standard dump format, and hp98721 and iris frame buffers,
which I may distribute in the future.)

-----------------------
9 Mar 95

I'm making this available on the WWW, pretty much as-is from when I wrote
it and released at UC Berkeley in 1989.  Unfortunately, I don't have
picture I/O routines to allow this code to read and write TIFF, GIF,
or JPEG picture file formats, but if you find/write one, please tell me!

-----------------------
Jul 98

The code to display pictures on sgi machines (sgw.c) still uses gl, not
Opengl, and if linking with -lgl_s gives an error, try -lgl.  If you
don't have libgl.a or libgl.so, then rewrite the code!

-----------------------
May 99

Jamie Painter, Rich Thomson, and Phil McRevis have extended zoom to handle
RLE, PNM, PNG, JPEG, and GIF.  Their changes are not included here,
but you can find their version of the code at
ftp://ftp.xmission.com/pub/users/l/legalize/misc/

Paul Heckbert
Carnegie Mellon University
ph@cs.cmu.edu
http://www.cs.cmu.edu/~ph
