FlashPix文件中的注释是一个连续的内存块,一个注释块。在注释块中是由注释头和注释数据组成的单独的注释。注释头包含有关注释的大小和类型的信息。注释头可以是FPXCOMMENT_HEADER_ELEMENT,如果注释由单个项组成(例如浮点数或短数),或者如果注释由项数组组成(例如短数组,字符数组或字符串数组),则它可能是FPXCOMMENT_HEADER_ARRAY。这些结构如下:
FPXCOMMENT_HEADER_ELEMENT
类型定义结构体_FPXCOMMENT_HEADER_ELEMENT
{
L_UINT32大小;
L_UINT32类型;
} FPXCOMMENT_HEADER_ELEMENT;
评论的大小。
存储的注释类型。
大小以字节为单位给出。类型引用枚举类型中的值FPXTYPE_DATA。
FPXCOMMENT_HEADER_ARRAY
类型定义结构体_FPXCOMMENT_HEADER_ARRAY
{
L_UINT32大小;
L_UINT32类型;
L_UINT32元素;
} FPXCOMMENT_HEADER_ARRAY;
评论的大小。
存储的注释类型。
数组中元素的个数。
大小以字节为单位给出。类型引用枚举类型中的值FPXTYPE_DATA。Elements提供数组中元素的数量。
Comment标头后面是Comment数据。注释数据可以由简单数据组成,例如浮点值、子注释,或者一个或多个简单数据和一个或多个子注释的组合。组成子注释的部分将被称为子注释头和子注释数据。Comments和子注释都必须是Comment类型。
例如,注释类型为FlashPixLong的注释将包含一个注释头FPXCOMMENT_HEADER_ELEMENT。之后是Comment数据,由一个L_UINT32(4字节)保存长值。然而,注释类型为FlashPixCFAPatternBlock的注释数据由两个整数值和一个注释类型为FlashPixString的注释组成。本节末尾提供了FlashPix注释类型的列表。为了更好地理解FlashPix文件注释组织,请查看以下示例。
下图中的每个单元格表示1字节的内存。因此,L_UINT32的大小为4字节。
上面单元格给出的值表示存储在该内存段中的值。
注释类型在注释名称旁边的括号中给出。
宽字符的大小为2字节,由后跟空白字节的字符表示。
这里给出的示例包含“内容描述组”(CMNT_FPXCONTENTDESCRIPTIONGROUP)中的注释FlashPix文件注释)。第一条注释CMNT_FPXTESTTARGETINTHEIMAGE的注释类型是FlashPixLong。它由FPXCOMMENT_HEADER_ELEMENT和一个long类型的Comment数据元素组成。在注释头中,最左边的L_UINT32存储整个注释的大小。长数据元素的4个字节和Comment头中的2个L_UINT32成员的8个字节总共是12个字节。注释头中右边的L_UINT32成员存储了这个注释[FlashPixLong]的注释类型的值3。最后,最后一个L_UINT32 (data)保存Comment数据本身的值(0x0)。
下一个注释CMNT_FPXGROUPCAPTION非常相似。注释头存储了整个注释的大小(34字节)以及注释类型(FlashPixWideString)和字符串中的元素数量(11)。注释数据包含字符串本身(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数据由多个评论类型为FlashPixWideString的子评论组成,这些子评论组成了数组。同样,这些子注释由子注释头和子注释数据组成。数组中第一个FlashPixWideString子注释的子注释头以L_UINT32开头,该L_UINT32存储数组中该字符串的大小(20字节)。下一个L_UINT32表示后面(9或FlashPixWideString)的子注释的注释类型。请注意,整个注释的类型是FlashPixWideStringArray,但是该数组的每个成员的注释类型是FlashPixWideString。每个宽字符串的子注释头中的下一个L_UINT32成员存储字符串中元素的数量(4)。最后,每个子注释的子注释数据包含字符串BOB和TED。
注释的其余部分可以类似地解释。值得注意的是,这里看到的所有1字节单元格表示一个连续的内存块,因此它们会并排放在内存中。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_int i, j, uBytes;
L_UCHAR Buffer[1024], String[] =“字符串”;
FlashPixCFAPatternBlock(注释类型)
该注释用于存储描述颜色模式的行数、列数和数据数组。参考cmnt_fpxcfpatternFlashPix文件注释。
L_UNIT32 size_of_structure
L_UNIT32 type_of_structure
L_UINT16 cfa_repeat_rows
L_UINT16 cfa_repeat_cols
FlashPixString cfa_array
成员 | 描述 |
---|---|
size_of_structure | 这个评论的大小 |
type_of_structure | 此注释的类型= FPXENUM_CFA_PATTERN_BLOCK |
cfa_repeat_rows | 包含定义颜色模式的行数的数据值 |
cfa_repeat_col | 包含定义颜色模式的列数的数据值 |
cfa_array | 颜色图案值的数据数组 |
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗网页查看器net
188宝金博怎么下载
支持的平台上
.NET、Java、Android和iOS/macOS程序集
C API/ c++类库
HTML5 JavaScript库
您的邮件已经发送到支持!应该有人保持联系!如果你有急事,请回来再谈。
聊天时间:
周一至周五,上午8:30至下午6点
感谢您的反馈!
请重新填写表格以开始新的聊天。
所有代理当前都处于离线状态。
聊天时间:
星期一至星期五
上午8:30 -下午6点
要联系我们,请填写此表格,我们将通过电子邮件与您联系。