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类型。
以下声明属于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_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:00
感谢您的反馈!
请再次填写表格,开始新的聊天。
所有代理目前都离线。
聊天时间:
星期一至星期五
美国东部时间上午8:30 -下午6点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。