TiffIO 1.0.3
TiffIO is a plugin that add TIFF images read/write capabilities to the Qt's
QImage class. Adding the generated plugin in the Qt's tree enable any Qt application
to manipulate TIFF images.
All TIFF operations are based on libtiff 3.7.0, this plugin is just a wrapper
that enable to use it transparently from the QImage class, and the
QImageFormatPlugin architecture defined by Qt.
Current support for reading .tif into a QImage :
- Images created on any architecture (big endians or little endians)
- Uncompressed, or compressed images (mainly lossless LZW and ZIP).
- Various color schemes (RGB, RGBA, LAB, LUV, CYMK, CIEXY, ...)
- 8 and 16 bits per components RGB and RGBA images (automatically
truncated to 8 bits images, as supported by Qt).
- 8 bits per components for the other true color schemes.
- Gray level images with up to 16 bits (always loaded as 8 bits images,
with a allGray() linear color table).
- Paletted images with up to 256 RGB colors (defined in 16bits per
components, and truncated to 8 bits because of Qt).
- Accepts multi-layered images (eg. from Photoshop).
- Maximum image size from Qt and libtiff : 64k*64k ?
Current support for writting a QImage :
- Always use LZW compression and big endians architecture.
- Gray images (depth=1 or 8 bit/pixel) are one-chanel TIFF,
in MINISBLACK mode.
- Other 1 or 8 bit/pixel images are saved as PALETTE images,
with up to 256 RGB colors.
- True color images (24 or 32 bit/pixels) are saved as
3x8 bits RGB images.
What is not supported at the time :
- JPEG compression (I have to figure out how to use 3rdparty/jpeg
in the Qt architecture).
- Transparency (alpha channel), except for reading 4
channels images.
Status
I am using TiffIO on Qt 3.2.3, ``every days'', and I am not aware of any
bugs.
I do not intend to provide a professional quality type support.
But, I would be happy to have feedback of any bugs, and
will most probably make sure to correct them.
History
- 2004-11-08 : Creation
- 2004-11-22 / 1.0.2:
- FIX a minor bug about the regexp to recognize TIFF formats.
- 2004-12-17 / 1.0.3:
- FIX Add "TIFF"
as recognized format (as well as TIF).
- FIX RGBA/ABGR color inversion on win32
platforms.
Download
Installation
Pre-requisite : have Qt installed, and the QTDIR environement variable
correctly defined.
- On unix :
-
qmake TiffIO.pro
make
- On MSVC++ .NET :
-
Exit any Qt application (including Designer or
Assistant), because they lock the $QTDIR/plugin/imageformats directory.
-
Generate the .vcproj with the IDE Qt icon, or with the command:
qmake -tp vc TiffIO.pro
Build the project.
In both cases, the plugin is generated into $QTDIR/plugins/imageformats/,
and can be used right away.
Files
TiffIO.cpp : The source itself.
License_CeCILL* : The license. The official french GPL.
rules.pri : Include file for qmake, with compilation rules.
TiffIO.pri : Include file for qmake, with all files needed to compile.
TiffIO.pro : The qmake file to generate an optimised plugin.
TiffIO_DBG.pro : The qmake file to generate a debug version of the plugin.
libtiff/* : The LibTIFF-3.7.0/libtiff sources and Copyright.