📄 icc34.h
字号:
* the ICC spec. Only 16 bit L*a*b* and XYZ are allowed. The number of * coordinates is consistent with the headers PCS. * * Device coordinates are icUInt16 numbers where 0x0000 represents * the minimum value and 0xFFFF represents the maximum value. * If the nDeviceCoords value is 0 this field is not given. */} icNamedColor2;/* Profile sequence structure */typedef struct { icSignature deviceMfg; /* Dev Manufacturer */ icSignature deviceModel; /* Dev Model */ icUInt64Number attributes; /* Dev attributes */ icTechnologySignature technology; /* Technology sig */ icInt8Number data[icAny]; /* Desc text follows *//* * Data that follows is of this form, this is an icInt8Number * to avoid problems with a compiler generating bad code as * these arrays are variable in length. * * icTextDescription deviceMfgDesc; * Manufacturer text * icTextDescription modelDesc; * Model text */} icDescStruct;/* Profile sequence description */typedef struct { icUInt32Number count; /* Number of descriptions */ icUInt8Number data[icAny]; /* Array of desc structs */} icProfileSequenceDesc;/* textDescription */typedef struct { icUInt32Number count; /* Description length */ icInt8Number data[icAny]; /* Descriptions follow *//* * Data that follows is of this form * * icInt8Number desc[count] * NULL terminated ascii string * icUInt32Number ucLangCode; * UniCode language code * icUInt32Number ucCount; * UniCode description length * icInt16Number ucDesc[ucCount];* The UniCode description * icUInt16Number scCode; * ScriptCode code * icUInt8Number scCount; * ScriptCode count * icInt8Number scDesc[67]; * ScriptCode Description */} icTextDescription;/* Screening Data */typedef struct { icS15Fixed16Number frequency; /* Frequency */ icS15Fixed16Number angle; /* Screen angle */ icSpotShape spotShape; /* Spot Shape encodings below */} icScreeningData;typedef struct { icUInt32Number screeningFlag; /* Screening flag */ icUInt32Number channels; /* Number of channels */ icScreeningData data[icAny]; /* Array of screening data */} icScreening;/* Text Data */typedef struct { icInt8Number data[icAny]; /* Variable array of chars */} icText;/* Structure describing either a UCR or BG curve */typedef struct { icUInt32Number count; /* Curve length */ icUInt16Number curve[icAny]; /* The array of curve values */} icUcrBgCurve;/* Under color removal, black generation */typedef struct { icInt8Number data[icAny]; /* The Ucr BG data *//* * Data that follows is of this form, this is a icInt8Number * to avoid problems with a compiler generating bad code as * these arrays are variable in length. * * icUcrBgCurve ucr; * Ucr curve * icUcrBgCurve bg; * Bg curve * icInt8Number string; * UcrBg description */} icUcrBg;/* viewingConditionsType */typedef struct { icXYZNumber illuminant; /* In candelas per sq. meter */ icXYZNumber surround; /* In candelas per sq. meter */ icIlluminant stdIluminant; /* See icIlluminant defines */} icViewingCondition;/* CrdInfo type */typedef struct { icUInt32Number count; /* Char count includes NULL */ icInt8Number desc[icAny]; /* Null terminated string */} icCrdInfo;/*------------------------------------------------------------------------*//* * Tag Type definitions *//* * Many of the structures contain variable length arrays. This * is represented by the use of the convention. * * type data[icAny]; *//* The base part of each tag */typedef struct { icTagTypeSignature sig; /* Signature */ icInt8Number reserved[4]; /* Reserved, set to 0 */} icTagBase;/* curveType */typedef struct { icTagBase base; /* Signature, "curv" */ icCurve curve; /* The curve data */} icCurveType;/* dataType */typedef struct { icTagBase base; /* Signature, "data" */ icData data; /* The data structure */} icDataType;/* dateTimeType */typedef struct { icTagBase base; /* Signature, "dtim" */ icDateTimeNumber date; /* The date */} icDateTimeType;/* lut16Type */typedef struct { icTagBase base; /* Signature, "mft2" */ icLut16 lut; /* Lut16 data */} icLut16Type;/* lut8Type, input & output tables are always 256 bytes in length */typedef struct { icTagBase base; /* Signature, "mft1" */ icLut8 lut; /* Lut8 data */} icLut8Type;/* Measurement Type */typedef struct { icTagBase base; /* Signature, "meas" */ icMeasurement measurement; /* Measurement data */} icMeasurementType;/* Named color type *//* icNamedColor2Type, replaces icNamedColorType */typedef struct { icTagBase base; /* Signature, "ncl2" */ icNamedColor2 ncolor; /* Named color data */} icNamedColor2Type;/* Profile sequence description type */typedef struct { icTagBase base; /* Signature, "pseq" */ icProfileSequenceDesc desc; /* The seq description */} icProfileSequenceDescType;/* textDescriptionType */typedef struct { icTagBase base; /* Signature, "desc" */ icTextDescription desc; /* The description */} icTextDescriptionType;/* s15Fixed16Type */typedef struct { icTagBase base; /* Signature, "sf32" */ icS15Fixed16Array data; /* Array of values */} icS15Fixed16ArrayType;typedef struct { icTagBase base; /* Signature, "scrn" */ icScreening screen; /* Screening structure */} icScreeningType;/* sigType */typedef struct { icTagBase base; /* Signature, "sig" */ icSignature signature; /* The signature data */} icSignatureType;/* textType */typedef struct { icTagBase base; /* Signature, "text" */ icText data; /* Variable array of chars */} icTextType;/* u16Fixed16Type */typedef struct { icTagBase base; /* Signature, "uf32" */ icU16Fixed16Array data; /* Variable array of values */} icU16Fixed16ArrayType;/* Under color removal, black generation type */typedef struct { icTagBase base; /* Signature, "bfd " */ icUcrBg data; /* ucrBg structure */} icUcrBgType;/* uInt16Type */typedef struct { icTagBase base; /* Signature, "ui16" */ icUInt16Array data; /* Variable array of values */} icUInt16ArrayType;/* uInt32Type */typedef struct { icTagBase base; /* Signature, "ui32" */ icUInt32Array data; /* Variable array of values */} icUInt32ArrayType;/* uInt64Type */typedef struct { icTagBase base; /* Signature, "ui64" */ icUInt64Array data; /* Variable array of values */} icUInt64ArrayType; /* uInt8Type */typedef struct { icTagBase base; /* Signature, "ui08" */ icUInt8Array data; /* Variable array of values */} icUInt8ArrayType;/* viewingConditionsType */typedef struct { icTagBase base; /* Signature, "view" */ icViewingCondition view; /* Viewing conditions */} icViewingConditionType;/* XYZ Type */typedef struct { icTagBase base; /* Signature, "XYZ" */ icXYZArray data; /* Variable array of XYZ nums */} icXYZType;/* CRDInfoType where [0] is the CRD product name count and string and * [1] -[5] are the rendering intents 0-4 counts and strings */typedef struct { icTagBase base; /* Signature, "crdi" */ icCrdInfo info; /* 5 sets of counts & strings */}icCrdInfoType; /* icCrdInfo productName; PS product count/string */ /* icCrdInfo CRDName0; CRD name for intent 0 */ /* icCrdInfo CRDName1; CRD name for intent 1 */ /* icCrdInfo CRDName2; CRD name for intent 2 */ /* icCrdInfo CRDName3; CRD name for intent 3 */ /*------------------------------------------------------------------------*//* * Lists of tags, tags, profile header and profile structure *//* A tag */typedef struct { icTagSignature sig; /* The tag signature */ icUInt32Number offset; /* Start of tag relative to * start of header, Spec * Clause 5 */ icUInt32Number size; /* Size in bytes */} icTag;/* A Structure that may be used independently for a list of tags */typedef struct { icUInt32Number count; /* Num tags in the profile */ icTag tags[icAny]; /* Variable array of tags */} icTagList;/* The Profile header */typedef struct { icUInt32Number size; /* Prof size in bytes */ icSignature cmmId; /* CMM for profile */ icUInt32Number version; /* Format version */ icProfileClassSignature deviceClass; /* Type of profile */ icColorSpaceSignature colorSpace; /* Clr space of data */ icColorSpaceSignature pcs; /* PCS, XYZ or Lab */ icDateTimeNumber date; /* Creation Date */ icSignature magic; /* icMagicNumber */ icPlatformSignature platform; /* Primary Platform */ icUInt32Number flags; /* Various bits */ icSignature manufacturer; /* Dev manufacturer */ icUInt32Number model; /* Dev model number */ icUInt64Number attributes; /* Device attributes */ icUInt32Number renderingIntent;/* Rendering intent */ icXYZNumber illuminant; /* Profile illuminant */ icSignature creator; /* Profile creator */ icInt8Number reserved[44]; /* Reserved */} icHeader;/* * A profile, * we can't use icTagList here because its not at the end of the structure */typedef struct { icHeader header; /* The header */ icUInt32Number count; /* Num tags in the profile */ icInt8Number data[icAny]; /* The tagTable and tagData *//* * Data that follows is of the form * * icTag tagTable[icAny]; * The tag table * icInt8Number tagData[icAny]; * The tag data */} icProfile; /*------------------------------------------------------------------------*//* Obsolete entries *//* icNamedColor was replaced with icNamedColor2 */typedef struct { icUInt32Number vendorFlag; /* Bottom 16 bits for IC use */ icUInt32Number count; /* Count of named colors */ icInt8Number data[icAny]; /* Named color data follows *//* * Data that follows is of this form * * icInt8Number prefix[icAny]; * Prefix * icInt8Number suffix[icAny]; * Suffix * icInt8Number root1[icAny]; * Root name * icInt8Number coords1[icAny]; * Color coordinates * icInt8Number root2[icAny]; * Root name * icInt8Number coords2[icAny]; * Color coordinates * : * : * Repeat for root name and color coordinates up to (count-1) */} icNamedColor;/* icNamedColorType was replaced by icNamedColor2Type */typedef struct { icTagBase base; /* Signature, "ncol" */ icNamedColor ncolor; /* Named color data */} icNamedColorType;#endif /* ICC_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -