TIFF Datatype Handler for BeOS

This is an image datatype based upon libtiff that can display and save files in the TIFF format. For information on first time usage, please look at the FAQ later in this document.

The TIFF format is an industry standard file format that can have a variety of different ways of compressing the image data inside. It is a tag based format and so is very easily expandable.

Understanding the Preferences

You can access the preference dialogue directly by double clicking on /boot/home/config/add-ons/Datatypes/TIFFHandler or where ever you have set your datatypes to be located - see the FAQ for more information.

There you can configure all the saving options for the TIFFHandler. Programmers can also make use of this dialogue within their applications, so you might often see this panel in other programs. It is worth remember that whenever the dialogue is closed your settings will be automatically saved for you, and become active immediately.

Output Depth allows you to select what bit depth you would like the image to be saved as. 24-bit True Colour saves as RGB (16 million colours) image data and does not perserve the alpha channel in the output image. 8-bit Paletted Colour allows you to save the image in 256 colours or less, the 8-bit Colours lets you select this.

8-bit Colours allows you to configure how many colours will be in the final image when saving as an 8-bit Paletted Colour image - otherwise this option will be ghosted. NOTE: 8-bit Paletted Colour is disabled in this version!

Colour Mapping is a setting that applies to 8-bit Paletted Colour saving only. This lets you define how carefully the handler will convert the high quality input to your choosen output colour number. Basic Mapping is designed to be very quick, and only lets you convert to 256 colours. Slow Mapping is a better choice, and lets you define a variable number of colours in the 8-bit Colours selector, and will generally produce better looking images.

Compression allows you to set how the handler will try and reduce the size of the final output file. None uses no compression what so ever, and will produce large files. Macintosh RLE (Run-length encoding) is a way of compressing large areas of an image that have the same colour. It is going to be very efficent for animation and other types of images that have large areas of the same colour. Otherwise it is going to produce very poor results.

Programmers Information

ALWAYS try and pass the TIFFHandler 32-bit data to convert to a TIFF if its at all possible, since when you pass the handler 8-bit data all it is doing is expanding it to 32-bit data using the default Be colour map. This also holds true for all other datatypes unless you are given the option of sending the datatype a colour map.

N.B. When you pass 8 bit data to the convert to the TIFF format, the datatype will use the system_colors()->color_list to expand the data into 32-bit.

Standard colour space extensions apply.

Program History

0.50
Inital Release

0.60
Fixed bug that probably caused some applications to crash when doing their memcpy() on unaligned images; after stress testing the handler for a while, I could not get it to crash. Added support for color_space ioExtensions

0.61
DR9 Version. Fax support removed. If anyone has built a version of libtiff that has tiff directory writing support working, could they please email me.

1.00
Compiled under Datatypes 1.6.3. Configuration file was being written to the wrong place (opps) - fixed. Added saving code and GUI preference view (at last!). Unfortuately 8-bit image saving will have to wait for the next release. Rewrote documentation in HTML.

License

There is no warranty with this program, and I have no liability for any consequential damage arising from the use of or inability to use this program. In no event shall I be liable for any damages whatsoever.

Distribution with any commerical software is strictly forbidden, either in full or demo form without a license agreement. Distribution is also forbidden on any software collections costing over 50USD.

By reading this file and using the handler you are agreeing to the terms listed here.

FAQ

Q: How do I install it?

A: You need to place it in your datatypes directory. As default this is /boot/home/config/add-ons/Datatypes, but this may be configured differently. See the Datatypes manual, which came with your install of the Datatypes package for more details.

Q: What is this program used for?

A: The TIFFHandler allows programs which support datatypes to load and save TIFF images. You can use ShowApp which is included with the Datatypes package to view any images in this format, but other viewers are available; one of my favourites is DTPicView by Edmund Vermeulen.

Q: Will NetPositive use the TIFFHandler?

A: No, NetPositive does not currently support datatypes, and has no internal ability to display TIFF files.

Q: What is an alpha channel?

A: The alpha channel of an image is normally a extra byte of information added to every pixel that tells the program that is viewing it how transparent that pixel should be. It is often refered to as 32-bit colour because it adds an extra 8 bits (1 byte) to the standard 24-bit RGB pixel.

Contact Details

Simon Clarke (S.J.Clarke@herts.ac.uk)

If you want to distribute this handler and a user help version of this document with your application, please email me.

If there are any files which this handler does not display correctly, please let me know, and I can try and fix the problem.