TiffIO 1.0
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.
History
- 2004-11-08 : Creation
- 2004-11-22 : FIX a minor bug about the regexp to recognize TIFF formats.
Download
TiffIO-102.zip
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)
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.