Replace fptiffcmn.pas

(cherry picked from commit 3c5af490b883a320725e4cdc5cf1f6615fc70a0d)
This commit is contained in:
Massimo Magnano 2023-07-25 09:56:16 +00:00 committed by Michaël Van Canneyt
parent fad52c62ed
commit 52e9657fd5

View File

@ -101,6 +101,17 @@ const
TiffPlanarConfigurationChunky = 1; //Chunky format
TiffPlanarConfigurationPlanar = 2; //Planar format
GEOTIFF_MODELPIXELSCALE = 33550;
GEOTIFF_MODELTIEPOINT = 33922;
GEOTIFF_MODELTRANSFORMATION = 34264;
GEOTIFF_KEYDIRECTORY = 34735;
GEOTIFF_DOUBLEPARAMS = 34736;
GEOTIFF_ASCIIPARAMS = 34737;
TIFF_ByteOrderBIG = $4D4D; //'MM';
TIFF_ByteOrderNOBIG = $4949; //'II';
type
TTiffChunkType = (
tctStrip,
@ -113,24 +124,31 @@ type
tcioNever
);
TTiffHeader = packed record
ByteOrder: Word;
case Version:Word of
42 : (IFDStart:DWord);
43 : (BigTIFF_padA, BigTiff_padB:Word) //Follow a 64 Bit IFDStart
end;
{ TTiffIFD - Image File Directory }
TTiffIFD = class
public
IFDStart: DWord; // tiff position
IFDNext: DWord; // tiff position
IFDStart: SizeUInt; // tiff position
IFDNext: SizeUInt; // tiff position
Artist: AnsiString;
BitsPerSample: DWord; // tiff position of entry
BitsPerSample: SizeUInt; // tiff position of entry
BitsPerSampleArray: array of Word;
CellLength: DWord;
CellWidth: DWord;
ColorMap: DWord;// tiff position of entry
ColorMap: SizeUInt;// tiff position of entry
Compression: DWord;
Predictor: Word;
Copyright: AnsiString;
DateAndTime: AnsiString;
DocumentName: AnsiString;
ExtraSamples: DWord;// tiff position of entry
ExtraSamples: SizeUInt;// tiff position of entry
FillOrder: DWord;
HostComputer: AnsiString;
ImageDescription: AnsiString;
@ -151,12 +169,12 @@ type
RowsPerStrip: DWord;
SamplesPerPixel: DWord;
Software: AnsiString;
StripByteCounts: DWord;// tiff position of entry
StripOffsets: DWord; // tiff position of entry
StripByteCounts: SizeUInt;// tiff position of entry
StripOffsets: SizeUInt; // tiff position of entry
TileWidth: DWord;
TileLength: DWord; // = Height
TileOffsets: DWord; // tiff position of entry
TileByteCounts: DWord; // tiff position of entry
TileOffsets: SizeUInt; // tiff position of entry
TileByteCounts: SizeUInt; // tiff position of entry
Tresholding: DWord;
XResolution: TTiffRational;
YResolution: TTiffRational;