[PyQt] creating TIFF with CCITT FAX group 4 compression
David Boddie
david at boddie.org.uk
Wed Jul 16 23:06:32 BST 2008
On Wed Jul 16 04:46:02 BST 2008, Glenn Linderman wrote:
> So I generate a QImage with a B&W (bitonal) image, using PyQt.
>
> Writing it out produces a full-color 32bpp uncompressed TIFF file. Ick.
>
> QImage doesn't seem to know how to produce other variations. So I wrote it
> into a QByteArray per the docs, and extracted the data().
Apparently, you can write out LZW-compressed TIFFs:
http://www.riverbankcomputing.com/static/Docs/PyQt4/html/qimagewriter.html#setCompression
> Found PIL, but PIL writes only uncompressed TIFF files too, according to
> its documentation.
There appears to be an attempt to patch it to support reading of group 4
compressed files:
http://mail.python.org/pipermail/image-sig/2003-July/002354.html
And some code to use "tiffcp" to do the hard work of writing a compressed
image:
http://groups.google.co.uk/group/comp.lang.python/msg/0af79e0c99609f9d
> Found pytiff, can't figure out if it can write compressed TIFF files or
> not, nor how to make it read a TIFF from a string in memory, as it takes a
> filename, rather than a file() object as a parameter.
It looks like it might be able to perform the compression - see the FAQ on
this page:
http://www.haynold.com/software_projects/2004/pytiff/
Though it's certainly a problem that it uses file names rather than file
objects. I suppose it could be modified to support them.
> I'm pretty far down the list of Google hits, so thought maybe it was time
> to ask if anyone has figured out how to write out a QImage into a TIFF file
> along with using CCITT FAX group 4 compression.
This message from the python-list looks interesting:
http://mail.python.org/pipermail/python-list/2006-September/405457.html
Perhaps the FreeImagePy project mentioned will be useful:
http://freeimagepy.sourceforge.net/
Let us know if you find something that works.
Good luck!
David
More information about the PyQt
mailing list