ImageEn, unit iexClasses

TIETIFFHandler


Declaration

TIETIFFHandler = class;


Description

This class allows you to read all TIFF tags, edit/add tags and pages, delete pages, and finally save back the modified TIFF. TIETIFFHandler is an older class, so you may find it easier to work with TIEMultiBitmap.
Because it only loads pages as needed, it offers good performance when working very large TIFF files.

Note: This class is unable to work with some OLD-JPEG tiff files. OLD-JPEG compression is no longer supported by the TIFF standard. You can use a TIEMultiBitmap to modify all TIFF images.


Demo

Demo  Demos\InputOutput\TiffHandler\TiffHandler.dpr
Demo  Demos\InputOutput\TiffHandler2\TiffHandler2.dpr


Examples

// add a custom tag (65000 with 'Hello World') at page 0
mytif := TIETIFFHandler.Create('input.tif');
mytif.SetValue(0, 65000, ttAscii, 'Hello World!');
mytif.WriteFile('output.tif');
mytif.free;

// delete second page (indexed 1) of a multipage tiff
mytif := TIETIFFHandler.Create('input.tif');
mytif.DeletePage(1);
mytif.WriteFile('output.tif');
mytif.free;

// insert a new page from an external file
mytif := TIETIFFHandler.Create('input.tif');
mytif.InsertPageAsFile('external.jpg', 0);
mytif.WriteFile('output.tif');
mytif.free;

// merge two tiff (even they are multipage files..)
mytif := TIETIFFHandler.Create('input-1.tif');
mytif.InsertTIFFFile('input-2.tif', mytif.PagesCount-1);
mytif.WriteFile('output.tif');
mytif.free;

// read tag 305 ('software')
mytif := TIETIFFHandler.Create('input-1.tif');
software := mytif.GetString(0, mytif.FindTag(0, 305));
mytif.free;


Methods and Properties

Public Method  Create

Input/Output
Public Method  ReadFile
Public Method  ReadStream
Public Method  InsertTIFFStream
Public Method  InsertTIFFFile
Public Method  InsertPageAsFile
Public Method  InsertPageAsStream
Public Method  InsertPageAsImage
Public Method  WriteFile
Public Method  WriteStream
Public Method  FreeData

Meta Information
Public Property  LittleEndian
Public Property  Version

Tag Information
Public Method  GetTagsCount
Public Method  GetPagesCount
Public Method  GetTagCode
Public Method  GetTagType
Public Method  GetTagLength
Public Method  GetTagLengthInBytes
Public Method  FindTag
Public Method  DeleteTag
Public Method  GetTagDescription
Public Method  ChangeTagCode

Tag Reading
Public Method  GetInteger
Public Method  GetString
Public Method  GetFloat
Public Method  GetValue
Public Method  SaveTagToFile
Public Method  GetValueRAW

Tag Writing
Public Method  SetValue
Public Method  SetValueRAW

Tag Copying
Public Method  CopyTag

Page Handling
Public Method  DeletePage
Public Method  InsertPage
Public Method  MovePage
Public Method  ExchangePage