2D Graphics Libraries for python?

Ken Seehof kseehof at neuralintegrator.com
Sat Jun 21 20:37:17 EDT 2003


At 11:38 AM 6/19/2003 Thursday, Niki Spahiev wrote:
>6/19/2003, 19:38:14, Ken Seehof wrote:
>
>KS> - Beziers
>KS> - Antialiasing (lines and beziers)
>KS> - Transparent bitmaps
>KS> - Portable (unix, linux, mac, windows)
>KS> - Can be painted in a wxPython window
>
>Check chaco also new PIL IIRC
>
>--
>Best regards,
>  Niki Spahiev

At 11:09 AM 6/19/2003 Thursday, Robin Becker wrote:
>we used libart_lgpl in renderPM to do most of what you say. It has alpha
>for transparency and many different ways to render stuff. We have
>renderPM working on unix, linux, mac, windows so the underlying library
>does as well. In our usage at least it has some numerical issues. As a
>backend we used PIL to convert the pixel map canvas to gif etc.
>--
>Robin Becker

Thank you for your replies.

PIL seems to be oriented toward outputting image files rather than displays.
I want to paint directly into a window (device context).  Speed is important,
so generating temporary image files and then displaying them is not an option
All I could find was Dib.expose(hdc) apparently to draw an image to a device.
Antialiasing seems to only be available as a filter for downsampling.

RenderPM is a Zope thing.  I like Zope, but that's not what I'm am doing right
now.  My application is a wxPython user interface running locally.  This is not
a web application.  Drawing needs to be directly to the screen, not to a 
document.


I am looking for these features for high speed drawing directly onto a 
canvas for
the purpose of a graphical user interface.

- Drawing antialiased lines and beziers to a window canvas
- Blitting transparent bitmaps to a window canvas
- Portability (unix, linux, mac, windows)
- Painting in a wxPython window, (perhaps using a device context handle)

The best solution I can think of so far is to use java.awt through Jython.
Java seems to have all the features I am looking for.  Has anyone had
experience with using java.awt to draw in a python application?

Thank you,
Ken








More information about the Python-list mailing list