  "I swear by my life and my love of it that I will never live
   for the sake of another man, nor ask another man to live for
   mine"

                    John Galt in "Atlas Shrugged", by Ayn Rand


AUTHOR

  The author is cristy@mystic.es.dupont.com.  This software is NOT
  shareware.  However, I am interested in who might be using it.
  Please consider sending me a picture postcard of the area where you
  live.  Send postcards to

    John Cristy
    P.O. Box 40
    Landenberg, PA  19350
    USA

  I'm also interested in receiving coins from around the world for
  my collection.  Or visit my mom's craft page at
  http://www.sympatico.org/bunny/.


AVAILABILITY

  ImageMagick is available as

    ftp://ftp.wizards.dupont.com/pub/ImageMagick/ImageMagick-4.0.4.tar.gz

  ImageMagick client executables are available for some platforms. See

    ftp://ftp.wizards.dupont.com/pub/ImageMagick/binaries
    ftp://ftp.wizards.dupont.com/pub/ImageMagick/mac
    ftp://ftp.wizards.dupont.com/pub/ImageMagick/nt
    ftp://ftp.wizards.dupont.com/pub/ImageMagick/vms
    ftp://ftp.wizards.dupont.com/pub/ImageMagick/linux

  I want ImageMagick to be of high quality, so if you encounter a
  problem I will investigate.  However, be sure you are using the most
  recent version from ftp://ftp.wizards.dupont.com/pub/ImageMagick
  before submitting any bug reports or suggestions.


WWW

  The official ImageMagick WWW page is

    http://www.wizards.dupont.com/cristy/ImageMagick.html

  Another useful ImageMagick WWW page is

    http://www.vrl.com/Imaging/

  To use display as your external image viewer, edit the global
  mail-cap file or your personal mail-cap file .mailrc (located at your
  home directory) and put this entry:

    image/*; display %s


MAILING LIST

  There is a mailing list for discussions and bug reports about
  ImageMagick.  To subscribe send the message

    subscribe magick

  to majordomo@wizards.dupont.com.  You will receive a welcome message
  which tells you how to post messages to the list,
  magick@wizards.dupont.com.


MEMORY REQUIREMENTS

  You should allocate sufficient swap space on your system before
  running ImageMagick; otherwise, you may experience random server or
  application crashes. Anything less than 80 megabytes of swap space is
  likely to cause random crashes.

  On many systems, you will find that 80 megabytes is insufficient and
  you will have to allocate more swap space.  You should also have at
  least 32 megabytes of real memory although 64 megabytes or more is
  recommended.


UNIX COMPILATION

  Type:

    gunzip ImageMagick-4.0.4.tar.gz
    tar xvf ImageMagick-4.0.4.tar
    cd ImageMagick

  If you do not have gunzip(1), it is available as
  prep.ai.mit.edu:pub/gnu/gzip-1.2.4.shar.

  You might want to check the values of certain program definitions
  before compiling. Change the definitions of ApplicationDefaults,
  BrowseCommand, EditorCommand, PostscriptColorDevice, PrintCommand,
  RGBColorDatabase, and TemporaryDirectory in magick/magick.h to suit
  your local requirements.

  There are currently two mechanisms available to create makefiles to
  build ImageMagick: 1) GNU configure;  2: X11 imake.  Each is described
  in the following paragraphs.
  
  * * *

  GNU configure:
  
    This option is easiest to use and is recommended when ImageMagick
    is to be installed outside of the X11 distribution or working imake
    configuration files are not available.  Use of 'configure' enables
    automated configuration, building, and installation of PerlMagick.

    If you are willing to accept configure's default options, type:
    
        ./configure
  
    and watch the configure script output to verify that it finds
    everything that you think it should. If it does not, then adjust
    your environment so that it does.

    If you are not happy with configure's choice of compiler,
    compilation flags, or libraries, you can give `configure' initial
    values for variables by setting them in the environment.  Using a
    Bourne-compatible shell, you can do that on the command line like
    this:

        CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
 
    Or on systems that have the `env' program, you can do it like this:

        env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure

    The configure variables you should be aware of are:

        CC          Name of C compiler (e.g. 'cc -Xa') to use
        CFLAGS      Compiler flags (e.g. '-g -O2') to compile with
        CPPFLAGS    Include paths (-I/somedir) to look for header files
        LDFLAGS     Library paths (-L/somedir) to look for libraries
        LIBS        Extra libraries (-lsomelib) required to link

    Any variable (e.g. CPPFLAGS or LDFLAGS) which requires a directory
    path must specify an absolute path rather than a relative path.

    By default, `make install' will install the package's files in
    `/usr/local/bin', `/usr/local/man', etc.  You can specify an
    installation prefix other than `/usr/local' by giving `configure'
    the option `--prefix=PATH'.

    Configure can usually find the X include and library files
    automatically, but if it doesn't, you can use the `configure'
    options `--x-includes=DIR' and `--x-libraries=DIR' to specify their
    locations.

    The configure script provides a number of ImageMagick specific
    options.  When disabling an option --disable-something is equivalent
    to specifying --enable-something=no and --without-something is
    equivalent to --with-something=no.  The configure options are as
    follows (execute 'configure --help' to see all options).

      --enable-shared      build shared libraries (default is no)
      --enable-static      build static libraries (default is yes)
      --enable-lzw         enable LZW support (default is no)
      --enable-16bit-pixel enable 16 bit pixels (default is no)
      --with-perl          enable build/install of PerlMagick (default is no)
      --with-dps           enable Display Postscript (default is yes)
      --with-fpx           enable FlashPIX (default is yes)
      --with-hdf           enable HDF (default is yes)
      --with-jbig          enable JBIG (default is yes)
      --with-jpeg          enable JPEG (default is yes)
      --with-mpeg          enable MPEG (default is yes)
      --with-png           enable PNG (default is yes)
      --with-tiff          enable TIFF (default is yes)
      --with-ttf           enable TrueType (default is yes)
      --with-x             use the X Window System

    ImageMagick options represent either features to be enabled or
    packages to be included in the build.  When a feature is enabled
    (via --enable-something), it enables code already present in
    ImageMagick.  When a package is enabled (via --with-something), the
    configure script will search for it, and if is is properly
    installed and ready to use (headers and built libraries are found
    by compiler) it will be included in the build.  The configure script
    is delivered with all features disabled and all packages enabled
    (except for PERL). In general, the only reason to disable a package
    is if a package exists but it is unsuitable for the build (perhaps
    an old version or not compiled with the right compilation flags).

    Several configure options require special note:

      o --disable-shared: the shared libraries is not built.  Shared
	libraries are valuable because they are *shared* across more
	than one invocation of an ImageMagick or PerlMagick client.  In
	addition, the clients take much less disk space and shared
	libraries are required to use PerlMagick.

        ImageMagick built with plug-ins (see MAGICK PLUG-INS below) can
        pose additional challenges.  You can build all the plug-ins
        statically and link them into the ImageMagick shared library
        (i.e. libMagick.so) or alternatively you can build the plug-ins
        as shared libraries (some systems already have plug-ins
        installed as shared libraries).  Shared libraries compilation
        flags differ from vendor to vendor (gcc's is -fPIC).  However,
        you must compile all shared library source with the same flag
        (for gcc use -FPIC rather than -fpic).

      o --disable-static: static archive libraries (with extension .a)
	are not built.  If you are building shared libraries, there is
	little value to building static libraries.  Reasons to build
	static libraries include:  1) they can be easier to debug; 2)
	the clients do not have external dependencies (i.e.
	libMagick.so);  3) you are unable to build shared libraries.

      o --with-perl: conveniently compile and install PerlMagick in
        one step.  Without this option you first install ImageMagick,
        change to the PerlMagick subdirectory, build, and finally
        install PerlMagick.  Note, PerlMagick is configured even if
        --with-perl is not supplied.  Building PerlMagick requires
        that ImageMagick is compiled with shared libraries enabled.
        If the argument --with-perl=/path/to/perl is supplied, then
	/path/to/perl will be taken as the PERL interpreter to use.

      o --with-x=no: build and use the X11 stubs library
        (ImageMagick/xlib) instead of the core X11 libraries.  This may
        be necessary on systems where X11 is not installed (e.g. a web
        server).  Display, animate, and import will not work with this
        library.  The remaining programs have reduced functionality.

  * * *

  X11 Imake:

    Use this option if working imake configuration files are available,
    the package is to be installed where ever imake installs things
    (usually the X11 distribution directory), and you don't mind
    editing a configuration file.  Use of this scheme requires a
    seperate step to install PerlMagick (see the README file in the
    PerlMagick subdirectory).

    Edit Magick.tmpl and set the variables to suit your local
    environment.  Now type:
    
        xmkmf
        make Makefiles
        
    or just
      
        xmkmf -a
        
    if you are using X11R6 imake.

  * * *
  
  To confirm your build of the ImageMagick distribution was
  successful, type:

      display

  If the program faults ensure that you have not inadvertingly linked to
  an older version of the libMagick library. To ensure this is not the
  case type

      cd ImageMagick/magick
      make install
      cd ..
      make

  If the image colors are not correct use this command:

      display -visual default

  Be sure to read the manual pages for the display(1), animate(1),
  montage(1), import(1), mogrify(1), identify(1), combine(1), and
  convert(1) utilities. Also read the ImageMagick frequently asked
  questions in the file www/Magick.html. This is required reading. Most
  of the questions I get via electronic mail are answered in this
  document.

  Place display(1) X application defaults in
  /usr/lib/X11/app-defaults/Display.  Use the appropriate name
  for other clients (e.g. Animate, Montage, etc).  To execute display(1)
  from as a menu item of any window manager (olwm, mwm, twm, etc), use

      logo:Untitled


MAGICK PLUGS-INS

  To further enhance the capabilities of ImageMagick, you may
  want to get these programs or libraries:

    o ImageMagick requires ralcgm from

          http://www.agocg.ac.uk/Graphics/CGM/ralcgm.html

      to read the Computer Graphics Metafile image format (may not compile
      under linux).

    o ImageMagick requires fig2dev from

          ftp://ftp.x.org/contrib/applications/drawing_tools/transfig

      to read the TransFig image format.

    o ImageMagick requires the FreeType software available as

         http://www.physiol.med.tu-muenchen.de/~robert/freetype.html 

      to annotate with TrueType fonts.

    o ImageMagick requires Ghostscript software available from

         http://www.cs.wisc.edu/~ghost/

      to read the Postscript or the Portable Document format.  It is used
      to annotate an image when an X server is not available.  See the
      FreeType library above for another means to annotate an image.  Note,
      Ghostscript must support the ppmraw device (type gs -h to verify).
      If Ghostscript is unavailable, the Display Postscript extension is
      used to rasterize a Postscript document (assuming you define HasDPS).
      The DPS extension is less robust than Ghostscript in that it will only
      rasterize one page of a multi-page document.

    o ImageMagick requires the FlashPix SDK available from

          http://www.kodak.com/US/en/drg/productsTechnologies/
	    prodTechFlashPix.shtml

      to read and write the FPX image format.

    o ImageMagick requires the NCSA HDF library available via anonymous FTP
      as

          ftp://ftp.ncsa.uiuc.edu/HDF/HDF4.1r1/tar/HDF4.1r1.tar.gz

      to read and write the HDF image format.

    o ImageMagick requires the JBIG-Kit software available via anonymous
      FTP as

          ftp://ftp.informatik.uni-erlangen.de/pub/doc/ISO/JBIG/
            jbigkit-0.9.tar.gz

      to read the JBIG image format.

    o ImageMagick requires the Independent JPEG Group's software
      available via anonymous FTP as

          ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6a.tar.gz

      to read the JPEG image format.  ImageMagick creates progressive
      JPEG images by default.  

      Concerning iterative JPEG compression:  see Kinoshita and
      Yamamuro, Journal of Imaging Science and Technology, "Image
      Quality with Reiterative JPEG Compression", Volume 39, Number 4,
      July 1995, 306-312 who claim that (1) the iterative factor of the
      repetitive JPEG operation had no influence on image quality, and
      (2) the first compression determined base image quality.

    o ImageMagick requires the MPEG library available via
      anonymous FTP as

          ftp://ftp.mni.mcgill.ca/pub/mpeg/mpeg_lib-1.2.1.tar.gz 

      to read the MPEG image format.  Use

          ftp://ftp.arc.umn.edu/pub/GVL/mpeg_encode1.2.2.tar.gz

      to write the MPEG image format.

    o ImageMagick requires the PNG library from

          http://www.cdrom.com/pub/png/pngcode.html

      to read the PNG image format.

    o ImageMagick requires ra_ppm from Greg Ward's Radiance
      software available via anonymous FTP as

          ftp://hobbes.lbl.gov/rad/Radiance3R07.tar.Z

      to read the Radiance image format (may not compile under linux).

    o ImageMagick requires rawtorle from the Utah Raster Toolkit
      available via anonymous FTP as

          ftp://ftp.cs.utah.edu/pub/urt-3.1b.tar.Z

      to write the RLE image format (may not compile under linux).

    o ImageMagick requires scanimage from

          http://www.mostang.com/sane/

      to import image from a scanner device.

    o ImageMagick requires Sam Leffler's TIFF software available
      via anonymous FTP as

          ftp://ftp.sgi.com/graphics/tiff/tiff-v3.4beta037-tar.gz

      to read the TIFF image format.  It in turn optionally requires
      the JPEG and ZLIB libraries.

    o ImageMagick requires the ZLIB library from

          http://www.cdrom.com/pub/infozip/zlib/

      to read the PNG image format or read and write Zip compressed
      MIFF images.

    o ImageMagick requires GET(1) available via the Web as

          http://www.linpro.no/lwp/

      to read images specified with a World Wide Web (WWW) uniform
      resource locator (URL).  GET(1) must be in /usr/local/bin.
      See WWWcommand in magick/magick.h to change its location.  If
      you do not have a HTTP server, you can use xtp(1), available
      in the ImageMagick distribution, for URL's whose protocol is
      FTP.

    o ImageMagick requires a background texture for the TILE
      format and for the -texture option of montage(1).  You can
      use your own or get samples from

          http://the-tech.mit.edu/KPT/

  NOTE: The following procedure describes how to build ImageMagick
  extension libraries in subdirectories of the ImageMagick directory.
  An alternative to these procedures is to install one or more of
  these under your system's regular include/lib directory (e.g. the
  directory specified by --prefix to configure or /usr/local). This
  allows the libraries to be shared by other packages. When using the
  configure script, the two schemes may be mixed. Also, please note
  that when the configure option --enable-shared is not disabled,
  these procedures must be supplemented with whatever compilation
  flags are required on your system to generate PIC code. In the case
  of gcc, this usually means that -fPIC must be added to the compiler
  options (i.e. CFLAGS) when building each plug-in library.
  
  To display images in the HDF, JBIG, JPEG, MPEG, PNG, TIFF, or TTF
  format, get the respective archives and build ImageMagick as follows:

    HDF:
      cd ImageMagick
      gunzip -c HDF4.1r1.tar.gz | tar xvf -
      mv HDF4.1r1 hdf
      cd hdf
      configure
      make -k hdf-libnofortran
      cd ..

    JBIG:
      cd ImageMagick
      gunzip -c jbigkit-0.9.tar.gz | tar xvof -
      mv jbigkit jbig
      cd jbig
      make
      cd ..

    JPEG:
      cd ImageMagick
      gunzip -c jpegsrc.v6a.tar.gz | tar xvof -
      mv jpeg-6a jpeg
      cd jpeg
      configure CC=cc -with-maxmem=7
      make
      cd ..

    MPEG:
      cd ImageMagick
      gunzip -c mpeg_lib-1.2.1.tar.gz | tar xvof -
      mv mpeg_lib mpeg
      cd mpeg
      ./configure
      make
      cd ..

    PNG:
      cd ImageMagick
      gunzip -c libpng-1.0.1.tgz | tar xvf -
      mv libpng-1.0.1 png
      cd png
      make
      cd ..

    TIFF:
      cd ImageMagick
      gunzip -c tiff-v3.4beta037.tar.Z | tar xvof -
      mv tiff-v3.4beta037 tiff
      cd tiff
      ./configure
      make
      cd ..

    TTF:
      cd ImageMagick
      gunzip -c freetype-1.0.tar.gz | tar xvof -
      mv freetype-1.0.tar.gz ttf
      cd ttf
      ./configure
      make
      cd ..

    ZLIB:
      cd ImageMagick
      gunzip -c zlib-1.1.2.tar.gz | tar xvf -
      mv zlib-1.1.2 zlib
      cd zlib
      make
      cd ..

  If your computer system supports shared libraries you must
  type

      make install

  Finally, perform the following if you are using Imake:

      cd ImageMagick
      < edit Magick.tmpl and define Has???? as instructed >
      xmkmf
      make Makefiles
      make clean
      make

  If prefer to use 'configure' rather than Imake:

      configure
      make clean
      make -k

  You can now convert or display images in the JPEG, TIFF, PNG, etc.
  image formats.


VMS COMPILATION

  You might want to check the values of certain program definitions
  before compiling.  Change the definitions of ApplicationDefaults,
  DocumentationBrowser, EditorCommand, PostscriptColorDevice,
  PrintCommand, and RGBColorDatabase in magick/magick.h to suit your
  local requirements.  Next, type.

  Type

      @make
      set display/create/node=node_name::

  where node_name is the DECNET X server to contact.

  Finally type:

      display

  Alternatively, get a zipped distribution (with JPEG, MPEG, TIFF,
  and XPM) from

      ftp://ftp.wizards.dupont.com/pub/ImageMagick/vms/ImageMagick-4.0.4.zip

  The VMS JPEG, TIFF, and XPM source libraries are available on
  axp.psl.ku.dk in [anonymous.decwindows.lib].

  Thanks to pmoreau@cenaath.cena.dgac.fr for supplying
  invaluable help as well as the VMS versions of the JPEG, MPEG, PNG,
  TIFF, and XPM libraries.


NT COMPILATION

  The NT distribution contains MetroWerks Codewarrior Professional
  projects and a Visual C++ workspace (thanks to BillR@corbis.com) for
  compilation.  For those who do not have access to CodeWarrior or
  Visual C++, the binaries for the command line utilities are
  enclosed.

  If you have an NT X server like Exceed (from Hummingbird) you will
  also need to include

      SET DISPLAY=<local-ip-address>:0.0

  in the System Control panel (NT) or Autoexec.bat (Win95). Autoexec.bat
  requires that you restart your computer.  See
  http://www.rahul.net/kenton/xsites.html for a list of commercial and
  free X server software. Without an X server you can still display or
  animate to, or import from, a remote X server.  Convert, mogrify,
  montage, combine, and identify will work with or without an X server
  directly from the command prompt.

  Import(1) works if you have at least one X window open.  Alternatively,
  type

      convert x:root image.gif

  Make sure gswin32 (Ghostscript) is in your execution path (see
  Autoexec.bat), otherwise, you will be unable to convert or view
  Postscript document.

  Make sure iexplore (Internet Explorer) is in your execution path (see
  Autoexec.bat), otherwise, you will be unable to browse the ImageMagick
  documentation.

  To compile the source with Codewarrior, start with Magick/Magick.mcp and
  then animate.mcp, convert.mcp, etc..  The Visual C++ workspace is
  ImageMagick.dsw.

  And yes, the NT executables will work under Windows 95.


MACINTOSH COMPILATION

  The Macintosh distribution contains MetroWerks Codewarrior
  Professional projects for compilation.  For those who do not have
  access to CodeWarrior, the binaries for the command line utilities
  are enclosed.  I had to comment the inline intrinsic functions in
  math.h in order to compile.  If you have a better solution, let me
  know.

  Display(1), animate(1), and import(1) currently do not work on the
  Macintosh.

  I am looking for a volunteer to get display(1) and animate(1) to work
  on the Macintosh.  I also need a volunteer is needed to write a
  simple Mac program to call the libMagick routines and display an
  image in a window.


ANIMATION

  To prevent color flashing on visuals that have colormaps,
  animate(1) creates a single colormap from the image sequence.
  This can be rather time consuming.  You can speed this
  operation up by reducing the colors in the image before you
  `animate' them.  Use mogrify(1) to color reduce the images:

      mogrify +map -colors 256 scenes/dna.[0-9]*

  Alternatively, you can use a Standard Colormap; or a static, direct,
  or true color visual.  You can define a Standard Colormap with
  xstdcmap(1).  For example, to use the "best" Standard Colormap,
  type:

      xstdcmap -best
      animate -map best scenes/dna.[0-9]*

  or to use a true color visual:

      animate -visual truecolor scenes/dna.[0-9]*

  Image filenames can appear in any order on the command line if
  the scene keyword is specified in the MIFF image.  Otherwise
  the images display in the order they appear on the command
  line.  A scene is specified when converting from another image
  format to MIFF by using the "scene" option with any filter.
  Be sure to choose a scene number other than zero.  For
  example, to convert a TIFF image to a MIFF image as scene #2,
  type:

      convert -scene 2 image.tiff image.miff


16-BIT IMAGING

  By default, ImageMagick uses a color depth of 8 bits (e.g.
  [0..255] for each of red, green, blue, and transparency components).
  Any 16-bit image is scaled to 8-bits before any image viewing or
  processing occurs.  If you want to work directly with 16-bit images
  (e.g. [0..65535]), edit Magick.tmpl and define QuantumLeap or use
  -enable-16bit with configure.  Next, type:

      make clean
      make

  In 16-bit mode expect to use about 33% more memory on the average.
  Also expect some processing to be slower than in 8-bit mode (e.g.
  Oil Painting, Segment, etc).

  In general, 16-bit mode is only useful if you have 16-bit images that
  you want to manipulate and save the transformed image back to a
  16-bit image format (e.g. PNG, VIFF).


64-BIT MACHINES

  Each pixel, within ImageMagick, is represented by the RunlengthPacket
  structure found in magick/image.h.  Only 8 bits are required for each
  color component and 16 bits for the colormap index for a total of 6
  bytes.  If QuantumLeap is defined (see 16-BIT IMAGING above), the
  color component size increases to 16 bits for a total of 10 bytes.
  Some 64-bit machines pad the structure which can cause a significant
  waste of memory.  For the cray, change the RunlengthPacket structure
  to this

      typedef struct _RunlengthPacket
      {
        unsigned char
          red : QuantumDepth,
          green : QuantumDepth,
          blue : QuantumDepth,
          length : QuantumDepth;

        unsigned short
          index : 16;
      } RunlengthPacket;

  before compiling.

  I'm not sure if this will work on other 64-bit machines that pad.  If you
  know a better solution, please send me E-mail.  Note, that the Dec Alpha
  apparently does not pad the structure so ImageMagick should be fine on
  this particular 64-bit machine.


COPYRIGHT

  Permission is hereby granted, free of charge, to any person obtaining a    
  copy of this software and associated documentation files ("ImageMagick"),  
  to deal in ImageMagick without restriction, including without limitation   
  the rights to use, copy, modify, merge, publish, distribute, sublicense,   
  and/or sell copies of ImageMagick, and to permit persons to whom the       
  ImageMagick is furnished to do so, subject to the following conditions:    
                                                                             
  The above copyright notice and this permission notice shall be included in 
  all copies or substantial portions of ImageMagick.                         
                                                                             
  The software is provided "as is", without warranty of any kind, express or 
  implied, including but not limited to the warranties of merchantability,   
  fitness for a particular purpose and noninfringement.  In no event shall   
  E. I. du Pont de Nemours and Company be liable for any claim, damages or   
  other liability, whether in an action of contract, tort or otherwise,      
  arising from, out of or in connection with ImageMagick or the use or other 
  dealings in ImageMagick.                                                   
                                                                             
  Except as contained in this notice, the name of the E. I. du Pont de       
  Nemours and Company shall not be used in advertising or otherwise to       
  promote the sale, use or other dealings in ImageMagick without prior       
  written authorization from the E. I. du Pont de Nemours and Company.       
