The aggdraw module
A high-quality graphics engine for PIL, based on Maxim Shemanarev's Anti-Grain Geometry library (from http://antigrain.com).
The necessary AGG sources are included in the aggdraw source kit.
NOTE: This is a patched version of the official package to support 64 bits systems. To use it on your projects, make sure you specify the dependency as "aggdraw == 1.1-64bits". You'd also need to make the distribution available at some place setuptools can reach with the find-links options, or re-use the branch hosted at Bitbucket: http://bitbucket.org/2degrees/aggdraw-64bits/
Build instructions (all platforms)
You need a C++ compiler to build this extension.
The library comes with the necessary AGG sources included.
The following additional libraries can be used:
OpenType/TrueType freetype2 (2.1.10 or later is recommended) support
To enable freetype, you need to build the library somewhere, and then change the FREETYPE_ROOT variable in aggdraw's setup.py file so it points to the build location.
If you don't want or need freetype support, you can leave the variable as is, or set it to None.
The library uses a standard setup.py file, and you can use all standard setup.py commands. I recommend the following steps:
$ python setup.py build_ext -i $ python selftest.py
(if you're lazy, you can skip the above and just install the library; setup.py will make sure the right stuff is built before it's installed).
If the selftest succeeds, you can install the library:
$ python setup.py install
Anti-Grain Geometry - Version 2.0 Copyright (c) 2002 Maxim Shemanarev (McSeem)
Permission to copy, use, modify, sell and distribute this software is granted provided this copyright notice appears in all copies. This software is provided "as is" without express or implied warranty, and with no claim as to its suitability for any purpose.
The aggdraw interface, and associated modules and documentation are:
Copyright (c) 2003-2005 by Secret Labs AB Copyright (c) 2003-2005 by Fredrik Lundh
By obtaining, using, and/or copying this software and/or its associated documentation, you agree that you have read, understood, and will comply with the following terms and conditions:
Permission to use, copy, modify, and distribute this software and its associated documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appears in all copies, and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Secret Labs AB or the author not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission.
SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.