home *** CD-ROM | disk | FTP | other *** search
/ Dream 57 / Amiga_Dream_57.iso / Linux / Libs / Imaging.txt < prev    next >
Text File  |  1998-07-19  |  8KB  |  242 lines

  1.  
  2. The Python Imaging Library
  3. $Id: README$
  4.  
  5. Release 0.3b2 (July 18, 1998)
  6.  
  7. ====================================================================
  8. The Python Imaging Library 0.3b2
  9. ====================================================================
  10.  
  11. Contents
  12. --------
  13.  
  14. + Introduction
  15. + Software License
  16. + Build instructions for UNIX
  17. + Build instructions for Windows
  18.  
  19. --------------------------------------------------------------------
  20. Introduction
  21. --------------------------------------------------------------------
  22.  
  23. The Python Imaging Library adds image processing capabilities to your
  24. Python interpreter.  This library provides extensive file format
  25. support, an efficient internal representation, and fairly powerful
  26. image processing capabilities.
  27.  
  28. This is the second beta release for PIL 0.3.  This source kit has been
  29. built on Windows 95 and NT, as well as on Linux (Redhat 4.2) and
  30. Digital Unix.  It should build out of the box on most mainstream Unix
  31. versions.
  32.  
  33. The main distribution site for this software is:
  34.  
  35.     http://www.pythonware.com
  36.  
  37. The PIL handbook is not included in this distribution; to get the
  38. latest version, check:
  39.  
  40.     http://www.pythonware.com/library.htm
  41.  
  42. --------------------------------------------------------------------
  43. News highlights in 0.3b2 (as compared to 0.2b4):
  44.  
  45. + Improved font support -- the pilfont package is now included
  46.   in the core distribution.
  47.  
  48. + Conversion to "P" and "1" uses Floyd-Steinberg dithering.
  49.  
  50. + Added support for YCbCr image memories.
  51.  
  52. + Added support for 32-bit integer and floating point images,
  53.   including new decoders to deal with many kinds of input data.
  54.  
  55. + The Tk interface now supports transparent images.
  56.   *** NOTE: the Tk interface has been changed; you need to update
  57.   *** your Tkinter build to properly handle the new interface.
  58.  
  59. + Added read support for IPTC/NAA Newsphoto, McIdas, PIXAR raster,
  60.   FlashPix, and Microsoft Image Composer.
  61.  
  62. + Lots and lots of bug fixes.
  63.  
  64. For more information on these and other changes, see the CHANGES
  65. document.
  66.  
  67. For installation and licensing details, see below.
  68.  
  69. For questions, comments and bug reports, send mail to
  70. 'image-sig@python.org'.
  71.  
  72. --------------------------------------------------------------------
  73. Software License
  74. --------------------------------------------------------------------
  75.  
  76. The Python Imaging Library is
  77.  
  78. Copyright (c) 1997-1998 by Secret Labs AB
  79. Copyright (c) 1995-1997 by Fredrik Lundh
  80.  
  81. By obtaining, using, and/or copying this software and/or its
  82. associated documentation, you agree that you have read, understood,
  83. and will comply with the following terms and conditions:
  84.  
  85. Permission to use, copy, modify, and distribute this software and its
  86. associated documentation for any purpose and without fee is hereby
  87. granted, provided that the above copyright notice appears in all
  88. copies, and that both that copyright notice and this permission notice
  89. appear in supporting documentation, and that the name of Secret Labs
  90. AB or the author not be used in advertising or publicity pertaining to
  91. distribution of the software without specific, written prior
  92. permission.
  93.  
  94. SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO
  95. THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
  96. FITNESS.  IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR BE LIABLE FOR
  97. ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  98. WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  99. ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
  100. OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  101.  
  102.  
  103. --------------------------------------------------------------------
  104. Build instructions for UNIX
  105. --------------------------------------------------------------------
  106.  
  107. NOTE: To build the Python Imaging Library, you need an ANSI C com-
  108. piler.  The "cc" compiler on SunOS 4 is *not* ANSI compliant.  On that
  109. platform, use "acc" or "gcc" instead.  On some platforms, you may have
  110. to use compiler options like "-ansi" or "-std" to get full ANSI C
  111. support.
  112.  
  113. 1. If you need JPEG and/or PNG support, make sure to get and build
  114.    the necessary external libraries:
  115.  
  116.    - for JPEG support, get the IJG JPEG library, version 6a or 6b.
  117.  
  118.    - for PNG and ZIP support, get the ZLIB library (by Gailly/Adler).
  119.      PIL was tested with version 1.0.4, but is likely to work with
  120.      versions from 0.95 and onwards.
  121.  
  122.      If you have RedHat 4.2 or newer, you can use the libraries pro-
  123.      vided with the operating system.
  124.  
  125.  
  126. 2. Unpack the PIL distribution (the file Imaging-0.3b2.tar.gz) in your
  127.    Python/Extensions directory.
  128.  
  129.     $ cd Python-1.5/Extensions # example
  130.     $ gunzip Imaging-0.3b2.tar.gz
  131.     $ tar xvf Imaging-0.3b2.tar
  132.  
  133.  
  134. 3. Now build the Imaging core library (libImaging.a):
  135.  
  136.     $ cd Imaging-0.3b2/libImaging
  137.     $ ./configure
  138.     $ make
  139.  
  140.    If you need to specify additional compiler options, the
  141.    second line should look something like:
  142.  
  143.     $ CC="cc -ansi" ./configure
  144.  
  145.  
  146. 4. To check that this library works as it should, type:
  147.  
  148.     $ make check
  149.  
  150.    It isn't much of a test, but it shouldn't crash :-)
  151.  
  152.  
  153. 5. Go back to the Imaging directory.
  154.  
  155.    If you don't have the IJG JPEG or ZLIB libraries (or you have them,
  156.    but not in a standard place), copy the "Setup.in" file to "Setup"
  157.    and edit it according to the instructions in the file.
  158.  
  159.  
  160. 6. Edit Makefile.pre.in and build a Makefile following the instructions
  161.    there.  In most cases, you can simply give the following command:
  162.  
  163.     $ make -f Makefile.pre.in boot
  164.  
  165.  
  166. 7. To build a dynamically loaded module, just type "make":
  167.  
  168.     $ make
  169.  
  170.    This will create a file called "_imaging.so".
  171.  
  172.    Then type (assuming a standard shell):
  173.  
  174.     $ PYTHONPATH=.:./PIL ; export PYTHONPATH
  175.     $ python
  176.  
  177.     >>> import _imaging
  178.     >>> import Image
  179.  
  180.    If both imports works, you've successfully added PIL to your Python
  181.    environment.  There are a few demo scripts in the Imaging/Scripts
  182.    directory that you can use to further test the library.
  183.  
  184.  
  185. 8. Copy the "_imaging.so" module and the contents of the "Imaging/PIL"
  186.    directory to a suitable place along the Python path.
  187.  
  188.    If you're using Python 1.5, the preferred way is to create a "PIL"
  189.    subdirectory under "site-packages", copy the "PIL.pth" file to
  190.    "site-packages", and the rest of the files to the new subdirectory.
  191.    Example:
  192.  
  193.     $ cp PIL.pth /usr/local/lib/Python1.5/site-packages
  194.     $ mkdir /usr/local/lib/Python1.5/site-packages/PIL
  195.     $ cp _imaging.so PIL/* /usr/local/lib/Python1.5/site-packages/PIL
  196.  
  197.  
  198. * Adding Tkinter support
  199.  
  200. 1. Add the following lines to tkappinit.c (part of the standard
  201.    Python distribution), after the MOREBUTTONS stuff:
  202.  
  203.     {
  204.         extern void TkImaging_Init(Tcl_Interp* interp);
  205.         TkImaging_Init(interp);
  206.     }
  207.  
  208.    This registers a Tcl command called "PyImagingPhoto", which is
  209.    use to communicate between PIL and Tk's PhotoImage handler.
  210.  
  211.  
  212. 2. Compile Python's _tkinter.c with the WITH_APPINIT flag set,
  213.    and link it with tkImaging.c and tkappinit.c.  The easiest
  214.    way to do this is to copy the former to the Modules directory,
  215.    and edit the _tkinter line in Setup to something like (on
  216.    one line):
  217.  
  218.    _tkinter _tkinter.c tkImaging.c tkappinit.c -DWITH_APPINIT
  219.     -I/usr/local/include -L/usr/local/lib -ltk4.2 -ltcl7.6 -lX11
  220.  
  221.  
  222. --------------------------------------------------------------------
  223. Build instructions for Windows
  224. --------------------------------------------------------------------
  225.  
  226. The current release does not include Windows makefiles.  You can get a
  227. prebuilt version from:
  228.  
  229.     http://www.pythonware.com/downloads.htm
  230.  
  231. That version is compatible with Python interpreters build using
  232. Microsoft Visual C++ 5.0.
  233.  
  234. The final beta will include build files for Microsoft Visual C++ 5.0.
  235.  
  236. --------------------------------------------------------------------
  237. NOTE: If you use Tk on Windows, you may wish to install the booster
  238. patches which provides dramatic performance improvements for 16- and
  239. 24-bit displays.  See the description in the Tk subdirectory for
  240. details.
  241. --------------------------------------------------------------------
  242.