AWARE [SYSTEMS] Imaging expertise for the Delphi developer
AWare Systems, Imaging expertise for the Delphi developer, Home Imaging / TIFF / TIFF in Delphi
AWare Systems on-line

Home
Custom development
Imaging
    TIFF
        TIFF File Format FAQ
        BigTIFF Proposal
        TIFF Tag Reference
        TIFF Tag Viewer
        LibTiff Mailing List Archive
        TIFF in Delphi
        TIFF Links
    Custom development
TechTalks
Company
Links

Contact

Information: info@awaresystems.be
Helpdesk: support@awaresystems.be
Sales: sales@awaresystems.be



Valid HTML 4.01!



TIFF in Delphi, pre-compiled LibTiff for Borland Delphi

LibTiffDelphi, version 3.7.0.00

LibTiffDelphi is a pre-compiled version of LibTiff for use in the Borland Delphi programming environment.

LibTiffDelphi is not a DLL. Instead, it's a series of .obj files that link into your Delphi project as if it were native Delphi ObjectPascal. This is similar to e.g. the pre-compiled LibJpeg that Borland distributes with Delphi. It does not require any extra files in your distribution, does not involve additional installation issues, and does not need any load-time or run-time linking. It works in Delphi 6 and more recent.

Included in the package are two versions of the same LibTiff. One is compiled with full debug options, the second is compiled with a release option configuration. When you enable the 'Debug information' generation option in your Delphi project's Compiler options, the debug version of LibTiff is chosen, otherwise, the release version gets linked in. The debug version allows you to trace through the LibTiff C code, without leaving your familiar Delphi environment. It also supports breakpoints in the LibTiff C code. It does not, however, support viewing the call stack, nor does it support the 'evaluate/modify' debug feature, nor can it support conditional breakpoints. Nevertheless, it can be quite useful if you want to get an understanding of LibTiff, and/or help debug or extend it.

The LibTiffDelphi download offered here is based on LibTiff 3.7.0. The 'pre-compiled' part and the interface with Delphi are both a first version, and should be regarded as beta version. Thus, things are liable to change. It is strongly recommended not to use this version in any final distributable build, and to check back here regularly to see if a newer version is available. Alternatively, you may want to drop us a line, and we'll keep you informed about any newer versions appearing here.

In current LibTiffDelphi, none of the 'LibTiff Tools' are included. These are not essential parts of LibTiff, but we will include pascal translations for many of these later on.

Download

LibTiffDelphi, full version LibTiffDelphi, full version. Large download (approx 1.39 megabyte), includes Debug and Release versions, enables tracing through LibTiff C code. Works in Delphi 6 and more recent.
  
LibTiffDelphi, release version only LibTiffDelphi, release version only. Smaller download (approx 240 kilobyte), but does not include Debug version, and thus does not enable tracing through LibTiff C code. Works in Delphi 6 and more recent.

Installation

  1. Unzip the downloaded package. We recommend unzipping to your local equivalent of 'C:\Program files\AWare Systems\AsLibDelphi\'. This will be the default path offered by our future installer, and will be the path shown in future documentation. Also, make sure you unpack with the 'Use folder names' or equivalent option enabled, since the package includes many files in many different folders and you need to preserve that.
  2. In the Delphi main menu, select 'Project', 'Options'. On the tabpage 'Directories/Conditionals', modify the 'Search path' to also include 'C:\Program files\AWare Systems\AsLibDelphi\'.

Getting started

  1. In any Delphi unit where you want to use LibTiffDelphi, include 'LibTiffDelphi' in your 'uses' clause. With your text cursor on 'LibTiffDelphi', hit ALT+RETURN, and you will automatically be taken to the LibTiffDelphi unit. This will enable you to view the Pascal declarations of all methods.
  2. Get familiar with LibTiff documentation, published over at the LibTiff site. A few mailing list discussions dealing specifically with LibTiffDelphi, like the one about reading a TIFF image into a TBitmap or TImage, or this one about writing a TIFF from the data in a TBitmap might also prove useful.
  3. Note that in addition to the traditional LibTiff 'TIFFOpen' and 'TIFFClientOpen', LibTiffDelphi also includes a function called 'TIFFOpenStream' that supports reading from and writing to any Delphi TStream.
  4. It is best not to change the Error and Warning handlers on the LibTiff level. The default handlers included in LibTiffDelphi resolve the C style arguments, and next pass Pascal style strings to any handler of your own. Thus, instead of using 'TIFFSetErrorHandler' and 'TIFFSetWarningHandler', we recommend you use 'LibTiffDelphiSetErrorHandler' and 'LibTiffDelphiSetWarningHandler'.

Final notes

Things are liable to change; this LibTiffDelphi build is considered beta. It is strongly recommended not to use this version in any final distributable build, and to check back here regularly to see if a newer version is available. Alternatively, you may want to drop us a line, and we'll keep you informed about any newer versions appearing here.

AWare Systems is commited to updating this pre-compiled LibTiff for Delphi whenever a new version of LibTiff becomes available. We also plan to translate many of the 'LibTiff Tools' into Delphi Pascal, extend the LibTiffDelphi documentation, include help files that integrate with your Delphi programming environment, and come up with a proper installer.

Thank you for trying LibTiffDelphi. We appreciate all your feedback. Any bug or problem report, please send to info@awaresystems.be. Have fun, and please check back soon.