Just in case anybody has the same problem, here''s my first attempt at
implementing a subset of the PNG spec in pure Python. I license it to
you under the terms of the GNU GPL.
http://trac.browsershots.org/browser...b/image/png.py
It encodes RGB images with 24 bits per pixel into PNG, using only the
modules sys, zlib and struct. These are all included in the base
distribution of Python. You don''t need gd or imlib.
I have done a little testing, and my implementation processes 8 megs of
RGB input in 0.6 seconds. With Adam7 interlacing enabled, it takes 10
times longer.
I would really appreciate any feedback and suggestions for improvement.
Cheers,
Johann
解决方案> You should really also include the alpha channel. Without that, PNG iscrippled IMHO.
I have now added simple transparency (marking one color as transparent
with a tRNS chunk). If anybody wants full alpha channel support, ask
kindly or send me a patch. I would like to avoid duplicating all the
functions, so maybe we should introduce a parameter to switch between 3
and 4 bytes per pixel.
Cheers,
Johann
On Fri, 09 Jun 2006 07:43:21 -0400, Johann C. Rocholl
wrote:here''s my first attempt at
implementing a subset of the PNG spec in pure Python. I license it to
you under the terms of the GNU GPL.
http://trac.browsershots.org/browser...b/image/png.py
It''s your code, so you get to license it.
But if you wish to solicit patches,
a more Pythonic license is IMHO more likely
to prove fruitful.
Alan Isaac
Em Sex, 2006-06-09 ?*s 12:30 -0400, Alan Isaac escreveu:It''s your code, so you get to license it.
But if you wish to solicit patches,
a more Pythonic license is IMHO more likely
to prove fruitful.
"Pythonic license"? That''s new to me. I can figure out what a
"Python-like license" is, but I''m clueless about a "Pythonic license".
--
Felipe.