[Edu-sig] Elementary graphics library
Paul D. Fernhout
pdfernhout at kurtz-fernhout.com
Sun May 28 22:31:01 CEST 2006
If you haven't already, you could check out:
Pyxel
http://bellsouthpwp.net/p/r/prochak/pyxel.html
"Pyxel is a python library that provides a dynamic, interactive, highly
portable, graphical environment. It makes diagrams and widgets look
identical in whatever underlying environment it supports."
wxOGL
http://wiki.wxpython.org/index.cgi/wxOGL
"The OGL library was originally written in C++ and provided to wxPython
via an extension module wrapper as is most of the rest of wxPython. The
code has now been ported to Python (with many thanks to Pierre Hjälm!) in
order to make it be more easily maintainable and less likely to get rusty
because nobody cares about the C++ lib any more."
(bottom of that pages has more alternatives, like the next)
Piddle
http://piddle.sourceforge.net/
"PIDDLE is a Python module for creating two-dimensional graphics in a
manner that is both cross-platform and cross-media; that is, it can
support screen graphics (e.g. QuickDraw, Windows, Tk) as well as file
output (PostScript, PDF, GIF, etc.). It makes use of the native 2D drawing
calls of each backend, for maximum efficiency and quality. It works by
defining a base class (piddle.Canvas) with methods for all supported
drawing primitives. A particular drawing context is provided in the form
of a derived class. PIDDLE applications will be able to automatically
select an appropriate backend for the user's environment. "
and of course PyGame or PySDL or even the OpenGL Canvas stuff (there are
probably more) for ideas and to see what others have done before in pure
Python and you could possibly build on. Or even PyGeo if your focus is
mainly on geometry instead of arbitrary 2D graphics (I wasn't sure).
There are a lot of charting and plotting and other graphics packages out
there with Python bindings (including Cairo, which you are looking at as
your first backend target). You can ask yourself if a newer API really
gets you that much over these existing things? Will it really be that much
simpler once you really try to make it useful? And if you have a
crossplatform backend already like Cairo or wx, does it gain you that much
to abstract above that if can you simplify it somehow, versus just make a
simple interface to one cross-platform library (which may be hard enough)?
Now, it still might be worth doing for you even if the answers are no, but
to maximize your effectiveness it is nice go in with your eyes open about
whether you are doing this to learn and to have fun, to improve an
existing thing, or to make something new that fills an empty niche (or to
try do do all three); that is a question I often wrestle with for my own
projects. :-)
--Paul Fernhout
Johannes Woolard wrote:
> As part of my Summer of Code proposal, I said i would write a simple
> graphics library.
> I've spent the last couple of hours brainstorming this, and written it all up:
>
> http://crunchy.python-hosting.com/wiki/GraphicsDoc.
>
> If anyone has any comments/ideas I would love to hear them!
>
> Johannes
>
More information about the Edu-sig
mailing list