FlashPix评论

FlashPix文件中的注释是一个连续的内存块,称为注释块。在注释块中是由注释头和注释数据组成的单个注释。注释头包含关于注释的大小和类型的信息。如果注释由单个项组成(例如,浮点数或短数),则注释头可能是FPXCOMMENT_HEADER_ELEMENT;如果注释由一组项组成(例如,短数数组、字符数组或字符串数组),则注释头可能是FPXCOMMENT_HEADER_ARRAY。这些结构如下:

FPXCOMMENT_HEADER_ELEMENT

类型定义结构体_FPXCOMMENT_HEADER_ELEMENT{L_UINT32大小;L_UINT32类型;} FPXCOMMENT_HEADER_ELEMENT;

成员

大小

注释的大小。

类型

存储的注释类型。

评论

Size以字节为单位。类型引用枚举类型中的值FPXTYPE_DATA

FPXCOMMENT_HEADER_ARRAY

类型定义结构体_FPXCOMMENT_HEADER_ARRAY{L_UINT32大小;L_UINT32类型;L_UINT32元素;} FPXCOMMENT_HEADER_ARRAY;

成员

大小

注释的大小。

类型

存储的注释类型。

元素

数组中的元素个数。

评论

Size以字节为单位。类型引用枚举类型中的值FPXTYPE_DATA。Elements提供数组中元素的数量。

注释标头后面是注释数据。注释数据可以由简单数据组成,比如浮点值、子注释,或者一个或多个简单数据和一个或多个子注释的组合。组成子注释的部分被称为子注释头和子注释数据。注释和子注释都必须是注释类型。

例如,注释类型为FlashPixLong的注释将包含注释头FPXCOMMENT_HEADER_ELEMENT。接下来是Comment数据,由L_UINT32(4字节),用于保存长值。然而,注释类型为FlashPixCFAPatternBlock的注释具有由两个整数值和注释类型为FlashPixString的注释组成的注释数据。FlashPix注释类型的列表将在本节的末尾提供。为了更好地理解FlashPix文件注释组织,请查看下面的示例。

下图中的每个单元格表示1个字节的内存。因此L_UINT32的大小为4字节。

单元格上面给出的值表示存储在该内存段中的值。

注释类型在注释名称旁边的括号中给出。

宽字符的大小为2字节,由一个字符后跟一个空白字节表示。

这里给出的例子包含“内容描述组”(CMNT_FPXCONTENTDESCRIPTIONGROUP参见CMNT_FPXCONTENTDESCRIPTIONGROUP)中的注释FlashPix文件注释)。第一个注释CMNT_FPXTESTTARGETINTHEIMAGE的注释类型为FlashPixLong。它由FPXCOMMENT_HEADER_ELEMENT和一个long类型的Comment数据元素组成。在Comment头中,最左边的L_UINT32存储了整个Comment的大小。长数据元素的4个字节和注释头中2个L_UINT32成员的8个字节总共是12个字节。Comment头中的右L_UINT32成员存储了该Comment [FlashPixLong]的Comment类型的值3。最后,最后一个L_UINT32 (data)包含注释数据本身的值(0x0)。

下一个注释CMNT_FPXGROUPCAPTION非常相似。注释头存储了整个注释的大小(34字节)以及注释类型(flashpixwiddestring)和字符串中的元素数量(11)。Comment数据包含字符串本身(MY FRIENDS)。请注意,由于数组由宽字符组成,因此字符串中的每个字符后面都跟着一个空字节,以指示宽字符的大小为2字节。单词之间的空格和最后的“\0”包含在宽字符的数量中。

下一个注释几乎与CMNT_FPXGROUPCAPTION相同。

下一个注释CMNT_FPXPEOPLEINTHEIMAGE给出了一个注释类型为FlashPixWideStringArray的示例注释。这个注释头是FPXCOMMENT_HEADER_ARRAY。第一个L_UINT32存储了整个Comment的大小,包括整个数组(52字节)。下一个L_UINT32表示注释类型是FlashPixWideStringArray(10)。Comment头中最右边的L_UINT32成员存储了数组(2)中存在的元素数量。Comment数据由多个注释类型flashpixwiddestring的子注释组成数组。同样,这些子注释由子注释头和子注释数据组成。数组中第一个flashpixwiddestring子评论的子评论头以一个L_UINT32开头,它存储数组中该字符串的大小(20字节)。下一个L_UINT32表示子注释的注释类型(9或flashpixwiddestring)。请注意,整个评论是类型FlashPixWideStringArray,但该数组的每个成员都是评论类型FlashPixWideString。每个宽字符串的子评论头中的下一个L_UINT32成员存储了字符串中的元素数量(4)。最后,每个子评论的子评论数据包含字符串BOB和TED。

评论的其余部分可以作类似解释。需要注意的是,这里看到的所有1字节单元格都表示一个连续的内存块,因此将在内存中并排放置。Comment组织的“爆炸”视图仅用于显示头和数据部分的各个成员。

图像\ comment.gif

注释和子注释必须是特定的注释类型。下面列出了可用的Comment类型。

以下声明属于Comment类型定义中包含的示例:

FPXCOMMENT_HEADER_ELEMENT * pElement;FPXCOMMENT_HEADER_ARRAY * pArray;L_UCHAR * pChar;L_UINT16 * pShort;L_UINT32 * pLong;L_FLOAT * pFloat;L_DOUBLE * pDouble;L_UINT i, j, uBytes;L_UCHAR缓冲区[1024],字符串[]=“字符串”

FlashPixCFAPatternBlock(注释类型)

此注释用于存储描述颜色模式的行数、列数和数据数组。中的cmnt_fpxcfappatternFlashPix文件注释

L_UNIT32 size_of_structureL_UNIT32 type_of_structureL_UINT16 cfa_repeat_rowsL_UINT16 cfa_repeat_colsFlashPixString cfa_array

图像\ CmntCFA.gif
成员 描述
size_of_structure 这条评论的大小
type_of_structure 注释的类型= FPXENUM_CFA_PATTERN_BLOCK
cfa_repeat_rows 包含定义颜色模式的行数的数据值
cfa_repeat_col 包含定义颜色模式的列数的数据值
cfa_array 颜色图案值的数据数组

例子

栅格成像C API帮助
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。