TiffIO 1.0.4
mail: Jean-Dominique <dot> Gascuel <at> imag.fr
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.1, 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.
Send e-mails to Jean-Dominique.Gascuel at imag.fr.
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.
-
2005-01-14 / 1.0.4:
-
Upgrade to libtiff 3.7.1, because of security alert.
-
FIX libtiff 3.7.1 not to crash when displaying warnings or error messages.
-
FIX libtiff 3.7.1 to have readable error message when reading unsupported pixel
formats (eg. CYMK 16 bits).
Source download
Pre-compiled download
None at that time: because there is too many combination of versions of Qt,
versions of compiler, and systems flavors...
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.