📄 vpdftiff.pas
字号:
{*******************************************************}
{ }
{ This unit is part of the VISPDF VCL library. }
{ Written by R.Husske - ALL RIGHTS RESERVED. }
{ }
{ Copyright (C) 2000-2009, www.vispdf.com }
{ }
{ e-mail: support@vispdf.com }
{ http://www.vispdf.com }
{ }
{*******************************************************}
unit VPDFTiff;
interface
uses
Windows, SysUtils, Classes;
{$I VisPDFLib.inc }
const
TIFF_NOTYPE = 0;
TIFF_BYTE = 1;
TIFF_ASCII = 2;
TIFF_SHORT = 3;
TIFF_LONG = 4;
TIFF_RATIONAL = 5;
TIFF_SBYTE = 6;
TIFF_UNDEFINED = 7;
TIFF_SSHORT = 8;
TIFF_SLONG = 9;
TIFF_SRATIONAL = 10;
TIFF_FLOAT = 11;
TIFF_DOUBLE = 12;
TIFF_IFD = 13;
TIFF_UNICODE = 14;
TIFF_COMPLEX = 15;
TIFF_LONG8 = 16;
TIFF_SLONG8 = 17;
TIFF_IFD8 = 18;
TIFFTAG_SUBFILETYPE = 254;
FILETYPE_REDUCEDIMAGE = $1;
FILETYPE_PAGE = $2;
FILETYPE_MASK = $4;
TIFFTAG_OSUBFILETYPE = 255;
OFILETYPE_IMAGE = 1;
OFILETYPE_REDUCEDIMAGE = 2;
OFILETYPE_PAGE = 3;
TIFFTAG_IMAGEWIDTH = 256;
TIFFTAG_IMAGELENGTH = 257;
TIFFTAG_BITSPERSAMPLE = 258;
TIFFTAG_COMPRESSION = 259;
COMPRESSION_NONE = 1;
COMPRESSION_CCITTRLE = 2;
COMPRESSION_CCITTFAX3 = 3;
COMPRESSION_CCITT_T4 = 3;
COMPRESSION_CCITTFAX4 = 4;
COMPRESSION_CCITT_T6 = 4;
COMPRESSION_LZW = 5;
COMPRESSION_OJPEG = 6;
COMPRESSION_JPEG = 7;
COMPRESSION_NEXT = 32766;
COMPRESSION_CCITTRLEW = 32771;
COMPRESSION_PACKBITS = 32773;
COMPRESSION_THUNDERSCAN = 32809;
COMPRESSION_IT8CTPAD = 32895;
COMPRESSION_IT8LW = 32896;
COMPRESSION_IT8MP = 32897;
COMPRESSION_IT8BL = 32898;
COMPRESSION_PIXARFILM = 32908;
COMPRESSION_PIXARLOG = 32909;
COMPRESSION_DEFLATE = 32946;
COMPRESSION_ADOBE_DEFLATE = 8;
COMPRESSION_DCS = 32947;
COMPRESSION_JBIG = 34661;
COMPRESSION_SGILOG = 34676;
COMPRESSION_SGILOG24 = 34677;
COMPRESSION_JP2000 = 34712;
TIFFTAG_PHOTOMETRIC = 262;
PHOTOMETRIC_MINISWHITE = 0;
PHOTOMETRIC_MINISBLACK = 1;
PHOTOMETRIC_RGB = 2;
PHOTOMETRIC_PALETTE = 3;
PHOTOMETRIC_MASK = 4;
PHOTOMETRIC_SEPARATED = 5;
PHOTOMETRIC_YCBCR = 6;
PHOTOMETRIC_CIELAB = 8;
PHOTOMETRIC_ICCLAB = 9;
PHOTOMETRIC_ITULAB = 10;
PHOTOMETRIC_LOGL = 32844;
PHOTOMETRIC_LOGLUV = 32845;
TIFFTAG_THRESHHOLDING = 263;
THRESHHOLD_BILEVEL = 1;
THRESHHOLD_HALFTONE = 2;
THRESHHOLD_ERRORDIFFUSE = 3;
TIFFTAG_CELLWIDTH = 264;
TIFFTAG_CELLLENGTH = 265;
TIFFTAG_FILLORDER = 266;
FILLORDER_MSB2LSB = 1;
FILLORDER_LSB2MSB = 2;
TIFFTAG_DOCUMENTNAME = 269;
TIFFTAG_IMAGEDESCRIPTION = 270;
TIFFTAG_MAKE = 271;
TIFFTAG_MODEL = 272;
TIFFTAG_STRIPOFFSETS = 273;
TIFFTAG_ORIENTATION = 274;
ORIENTATION_TOPLEFT = 1;
ORIENTATION_TOPRIGHT = 2;
ORIENTATION_BOTRIGHT = 3;
ORIENTATION_BOTLEFT = 4;
ORIENTATION_LEFTTOP = 5;
ORIENTATION_RIGHTTOP = 6;
ORIENTATION_RIGHTBOT = 7;
ORIENTATION_LEFTBOT = 8;
TIFFTAG_SAMPLESPERPIXEL = 277;
TIFFTAG_ROWSPERSTRIP = 278;
TIFFTAG_STRIPBYTECOUNTS = 279;
TIFFTAG_MINSAMPLEVALUE = 280;
TIFFTAG_MAXSAMPLEVALUE = 281;
TIFFTAG_XRESOLUTION = 282;
TIFFTAG_YRESOLUTION = 283;
TIFFTAG_PLANARCONFIG = 284;
PLANARCONFIG_CONTIG = 1;
PLANARCONFIG_SEPARATE = 2;
TIFFTAG_PAGENAME = 285;
TIFFTAG_XPOSITION = 286;
TIFFTAG_YPOSITION = 287;
TIFFTAG_FREEOFFSETS = 288;
TIFFTAG_FREEBYTECOUNTS = 289;
TIFFTAG_GRAYRESPONSEUNIT = 290;
GRAYRESPONSEUNIT_10S = 1;
GRAYRESPONSEUNIT_100S = 2;
GRAYRESPONSEUNIT_1000S = 3;
GRAYRESPONSEUNIT_10000S = 4;
GRAYRESPONSEUNIT_100000S = 5;
TIFFTAG_GRAYRESPONSECURVE = 291;
TIFFTAG_GROUP3OPTIONS = 292;
TIFFTAG_T4OPTIONS = 292;
GROUP3OPT_2DENCODING = $1;
GROUP3OPT_UNCOMPRESSED = $2;
GROUP3OPT_FILLBITS = $4;
TIFFTAG_GROUP4OPTIONS = 293;
TIFFTAG_T6OPTIONS = 293;
GROUP4OPT_UNCOMPRESSED = $2;
TIFFTAG_RESOLUTIONUNIT = 296;
RESUNIT_NONE = 1;
RESUNIT_INCH = 2;
RESUNIT_CENTIMETER = 3;
TIFFTAG_PAGENUMBER = 297;
TIFFTAG_COLORRESPONSEUNIT = 300;
COLORRESPONSEUNIT_10S = 1;
COLORRESPONSEUNIT_100S = 2;
COLORRESPONSEUNIT_1000S = 3;
COLORRESPONSEUNIT_10000S = 4;
COLORRESPONSEUNIT_100000S = 5;
TIFFTAG_TRANSFERFUNCTION = 301;
TIFFTAG_SOFTWARE = 305;
TIFFTAG_DATETIME = 306;
TIFFTAG_ARTIST = 315;
TIFFTAG_HOSTCOMPUTER = 316;
TIFFTAG_PREDICTOR = 317;
TIFFTAG_WHITEPOINT = 318;
TIFFTAG_PRIMARYCHROMATICITIES = 319;
TIFFTAG_COLORMAP = 320;
TIFFTAG_HALFTONEHINTS = 321;
TIFFTAG_TILEWIDTH = 322;
TIFFTAG_TILELENGTH = 323;
TIFFTAG_TILEOFFSETS = 324;
TIFFTAG_TILEBYTECOUNTS = 325;
TIFFTAG_BADFAXLINES = 326;
TIFFTAG_CLEANFAXDATA = 327;
CLEANFAXDATA_CLEAN = 0;
CLEANFAXDATA_REGENERATED = 1;
CLEANFAXDATA_UNCLEAN = 2;
TIFFTAG_CONSECUTIVEBADFAXLINES = 328;
TIFFTAG_SUBIFD = 330;
TIFFTAG_INKSET = 332;
INKSET_CMYK = 1;
INKSET_MULTIINK = 2;
TIFFTAG_INKNAMES = 333;
TIFFTAG_NUMBEROFINKS = 334;
TIFFTAG_DOTRANGE = 336;
TIFFTAG_TARGETPRINTER = 337;
TIFFTAG_EXTRASAMPLES = 338;
EXTRASAMPLE_UNSPECIFIED = 0;
EXTRASAMPLE_ASSOCALPHA = 1;
EXTRASAMPLE_UNASSALPHA = 2;
TIFFTAG_SAMPLEFORMAT = 339;
SAMPLEFORMAT_UINT = 1;
SAMPLEFORMAT_INT = 2;
SAMPLEFORMAT_IEEEFP = 3;
SAMPLEFORMAT_VOID = 4;
SAMPLEFORMAT_COMPLEXINT = 5;
SAMPLEFORMAT_COMPLEXIEEEFP = 6;
TIFFTAG_SMINSAMPLEVALUE = 340;
TIFFTAG_SMAXSAMPLEVALUE = 341;
TIFFTAG_CLIPPATH = 343;
TIFFTAG_XCLIPPATHUNITS = 344;
TIFFTAG_YCLIPPATHUNITS = 345;
TIFFTAG_INDEXED = 346;
TIFFTAG_JPEGTABLES = 347;
TIFFTAG_OPIPROXY = 351;
TIFFTAG_JPEGPROC = 512;
JPEGPROC_BASELINE = 1;
JPEGPROC_LOSSLESS = 14;
TIFFTAG_JPEGIFOFFSET = 513;
TIFFTAG_JPEGIFBYTECOUNT = 514;
TIFFTAG_JPEGRESTARTINTERVAL = 515;
TIFFTAG_JPEGLOSSLESSPREDICTORS = 517;
TIFFTAG_JPEGPOINTTRANSFORM = 518;
TIFFTAG_JPEGQTABLES = 519;
TIFFTAG_JPEGDCTABLES = 520;
TIFFTAG_JPEGACTABLES = 521;
TIFFTAG_YCBCRCOEFFICIENTS = 529;
TIFFTAG_YCBCRSUBSAMPLING = 530;
TIFFTAG_YCBCRPOSITIONING = 531;
YCBCRPOSITION_CENTERED = 1;
YCBCRPOSITION_COSITED = 2;
TIFFTAG_REFERENCEBLACKWHITE = 532;
TIFFTAG_XMLPACKET = 700;
TIFFTAG_OPIIMAGEID = 32781;
TIFFTAG_REFPTS = 32953;
TIFFTAG_REGIONTACKPOINT = 32954;
TIFFTAG_REGIONWARPCORNERS = 32955;
TIFFTAG_REGIONAFFINE = 32956;
TIFFTAG_MATTEING = 32995;
TIFFTAG_DATATYPE = 32996;
TIFFTAG_IMAGEDEPTH = 32997;
TIFFTAG_TILEDEPTH = 32998;
TIFFTAG_PIXAR_IMAGEFULLWIDTH = 33300;
TIFFTAG_PIXAR_IMAGEFULLLENGTH = 33301;
TIFFTAG_PIXAR_TEXTUREFORMAT = 33302;
TIFFTAG_PIXAR_WRAPMODES = 33303;
TIFFTAG_PIXAR_FOVCOT = 33304;
TIFFTAG_PIXAR_MATRIX_WORLDTOSCREEN = 33305;
TIFFTAG_PIXAR_MATRIX_WORLDTOCAMERA = 33306;
TIFFTAG_WRITERSERIALNUMBER = 33405;
TIFFTAG_COPYRIGHT = 33432;
TIFFTAG_RICHTIFFIPTC = 33723;
TIFFTAG_IT8SITE = 34016;
TIFFTAG_IT8COLORSEQUENCE = 34017;
TIFFTAG_IT8HEADER = 34018;
TIFFTAG_IT8RASTERPADDING = 34019;
TIFFTAG_IT8BITSPERRUNLENGTH = 34020;
TIFFTAG_IT8BITSPEREXTENDEDRUNLENGTH = 34021;
TIFFTAG_IT8COLORTABLE = 34022;
TIFFTAG_IT8IMAGECOLORINDICATOR = 34023;
TIFFTAG_IT8BKGCOLORINDICATOR = 34024;
TIFFTAG_IT8IMAGECOLORVALUE = 34025;
TIFFTAG_IT8BKGCOLORVALUE = 34026;
TIFFTAG_IT8PIXELINTENSITYRANGE = 34027;
TIFFTAG_IT8TRANSPARENCYINDICATOR = 34028;
TIFFTAG_IT8COLORCHARACTERIZATION = 34029;
TIFFTAG_IT8HCUSAGE = 34030;
TIFFTAG_IT8TRAPINDICATOR = 34031;
TIFFTAG_IT8CMYKEQUIVALENT = 34032;
TIFFTAG_FRAMECOUNT = 34232;
TIFFTAG_ICCPROFILE = 34675;
TIFFTAG_PHOTOSHOP = 34377;
TIFFTAG_JBIGOPTIONS = 34750;
TIFFTAG_FAXRECVPARAMS = 34908;
TIFFTAG_FAXSUBADDRESS = 34909;
TIFFTAG_FAXRECVTIME = 34910;
TIFFTAG_STONITS = 37439;
TIFFTAG_FEDEX_EDR = 34929;
TIFFTAG_DCSHUESHIFTVALUES = 65535;
TIFFTAG_FAXMODE = 65536;
FAXMODE_CLASSIC = $0;
FAXMODE_NORTC = $1;
FAXMODE_NOEOL = $2;
FAXMODE_BYTEALIGN = $4;
FAXMODE_WORDALIGN = $8;
FAXMODE_CLASSF = FAXMODE_NORTC;
TIFFTAG_JPEGQUALITY = 65537;
TIFFTAG_JPEGCOLORMODE = 65538;
JPEGCOLORMODE_RAW = $0;
JPEGCOLORMODE_RGB = $1;
TIFFTAG_JPEGTABLESMODE = 65539;
JPEGTABLESMODE_QUANT = $1;
JPEGTABLESMODE_HUFF = $2;
TIFFTAG_FAXFILLFUNC = 65540;
TIFFTAG_PIXARLOGDATAFMT = 65549;
PIXARLOGDATAFMT_8BIT = 0;
PIXARLOGDATAFMT_8BITABGR = 1;
PIXARLOGDATAFMT_11BITLOG = 2;
PIXARLOGDATAFMT_12BITPICIO = 3;
PIXARLOGDATAFMT_16BIT = 4;
PIXARLOGDATAFMT_FLOAT = 5;
TIFFTAG_DCSIMAGERTYPE = 65550;
DCSIMAGERMODEL_M3 = 0;
DCSIMAGERMODEL_M5 = 1;
DCSIMAGERMODEL_M6 = 2;
DCSIMAGERFILTER_IR = 0;
DCSIMAGERFILTER_MONO = 1;
DCSIMAGERFILTER_CFA = 2;
DCSIMAGERFILTER_OTHER = 3;
TIFFTAG_DCSINTERPMODE = 65551;
DCSINTERPMODE_NORMAL = 0;
DCSINTERPMODE_PREVIEW = 1;
TIFFTAG_DCSBALANCEARRAY = 65552;
TIFFTAG_DCSCORRECTMATRIX = 65553;
TIFFTAG_DCSGAMMA = 65554;
TIFFTAG_DCSTOESHOULDERPTS = 65555;
TIFFTAG_DCSCALIBRATIONFD = 65556;
TIFFTAG_ZIPQUALITY = 65557;
TIFFTAG_PIXARLOGQUALITY = 65558;
TIFFTAG_DCSCLIPRECTANGLE = 65559;
TIFFTAG_SGILOGDATAFMT = 65560;
SGILOGDATAFMT_FLOAT = 0;
SGILOGDATAFMT_16BIT = 1;
SGILOGDATAFMT_RAW = 2;
SGILOGDATAFMT_8BIT = 3;
TIFFTAG_SGILOGENCODE = 65561;
SGILOGENCODE_NODITHER = 0;
SGILOGENCODE_RANDITHER = 1;
TIFFPRINT_NONE = $0;
TIFFPRINT_STRIPS = $1;
TIFFPRINT_CURVES = $2;
TIFFPRINT_COLORMAP = $4;
TIFFPRINT_JPEGQTABLES = $100;
TIFFPRINT_JPEGACTABLES = $200;
TIFFPRINT_JPEGDCTABLES = $200;
TIFF_ANY = TIFF_NOTYPE;
TIFF_VARIABLE = -1;
TIFF_SPP = -2;
TIFF_VARIABLE2 = -3;
FIELD_CUSTOM = 65;
type
{$IFDEF VOLDVERSION}
PPointer = ^Pointer;
PCardinal = ^Cardinal;
{$ENDIF}
PTIFF = Pointer;
PTIFFRGBAImage = Pointer;
TIFFErrorHandler = procedure(a: Pointer; b: Pointer; c: Pointer); cdecl;
LibTiffDelphiErrorHandler = procedure(const a, b: AnsiString);
TIFFReadWriteProc = function(Fd: Cardinal; Buffer: Pointer; Size: Integer): Integer; cdecl;
TIFFSeekProc = function(Fd: Cardinal; Off: Cardinal; Whence: Integer): Cardinal; cdecl;
TIFFCloseProc = function(Fd: Cardinal): Integer; cdecl;
TIFFSizeProc = function(Fd: Cardinal): Cardinal; cdecl;
TIFFMapFileProc = function(Fd: Cardinal; PBase: PPointer; PSize: PCardinal): Integer; cdecl;
TIFFUnmapFileProc = procedure(Fd: Cardinal; Base: Pointer; Size: Cardinal); cdecl;
TIFFExtendProc = procedure(Handle: PTIFF); cdecl;
TIFFInitMethod = function(Handle: PTIFF; Scheme: Integer): Integer; cdecl;
PTIFFCodec = ^TIFFCodec;
TIFFCodec = record
Name: PAnsiChar;
Scheme: Word;
Init: TIFFInitMethod;
end;
PTIFFFieldInfo = ^TIFFFieldInfo;
TIFFFieldInfo = record
FieldTag: Cardinal;
FieldReadCount: Smallint;
FieldWriteCount: Smallint;
FieldType: Integer;
FieldBit: Word;
FieldOkToChange: Byte;
FieldPassCount: Byte;
FieldName: PAnsiChar;
end;
PTIFFTagValue = ^TIFFTagValue;
TIFFTagValue = record
Info: PTIFFFieldInfo;
Count: Integer;
Value: Pointer;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -