# 整体结构总览 > 注:所有x、y坐标都为有符号整数,实际处理时需要除以1000变回小数 | 说明 | 位数 | 备注 | | -------------------------------- | ---- | ---------------------------------------------- | | 图像宽度 width | 16 | 实际位数+11记为W | | 图像高度 height | 16 | 实际位数+11记为H | | elements列表长度 | 16 | 标记了该图像上的所有元素原型 | | > 元素种类 type | 4 | | | > 元素信息 data | | 详见[elements](#elements) | | map列表长度 | 16 | 标记了该图像上所有元素原型在图像中的信息 | | > 元素id element | 16 | | | > 坐标 position | 0 | | | >> x坐标 | W | | | >> y坐标 | H | | | > 所处层数 level | 16 | 从0x00FF开始递增,置入底层操作直接移到当前最下 | | > 附加信息 attached 列表长度 | 8 | 详见[map-attached](#map-attached) | | iterate列表长度 | 16 | 标记该图像中应用迭代函数系统的信息 | | > 是否为元素组 element-group | 1 | 若为1,则在elements中寻找组的原始map信息 | | > 原始元素mapId target | 16 | | | > 迭代次数 times | 32 | | | > 单次迭代孩子 children 列表长度 | 8 | 其中每个operations列表代表一个孩子 | | >> 迭代操作 operations 列表长度 | 8 | 详见[iterate-operations](#iterate-operations) | # elements ## type | id | 说明 | 备注 | | --- | -------------- | ----------- | | 0 | 路径 path | 起点为(0,0) | | 1 | 多边形 polygon | 起点为(0,0) | | 2 | 圆形 round | 圆心为(0,0) | | 3 | 元素组 group | | ## data ### path | 说明 | 位数 | 备注 | | ---------------------------- | ---- | --------------------------------------- | | 路径操作 operations 列表长度 | 16 | | | > 操作种类 type | 4 | | | > 操作信息 data | | 详见[path-operations](#path-operations) | > #### path-operations > ##### type > | id | 说明 | 备注 | > | --- | ----------------------------------- | ------------------------------------------------ | > | 0 | 直线 line | | > | 1 | 三次贝塞尔曲线 curve | 非列表头时,默认使用平滑曲线 | > | 2 | 平滑三次贝塞尔曲线 curve-smooth | | > | 3 | 二次贝塞尔曲线 quadratic | 非列表头时,默认使用平滑曲线 | > | 4 | 平滑二次贝塞尔曲线 quadratic-smooth | | > | 5 | 圆弧 arc | | > | 6 | 封闭图形 zeal | 用直线连接当前点与起点,封闭该图形,必须为列表尾 | > > ##### line > | 说明 | 位数 | 备注 | > | --------------- | ---- | ---- | > | 目标坐标 target | 0 | | > | > x坐标 | W | | > | > y坐标 | H | | > > ##### curve > | 说明 | 位数 | 备注 | > | ------------------ | ---- | ---- | > | 目标坐标 target | 0 | | > | > x坐标 | W | | > | > y坐标 | H | | > | 控制点 control | 0 | | > | > 起点控制点 start | 0 | | > | >> x坐标 | W | | > | >> y坐标 | H | | > | > 终点控制点 end | 0 | | > | >> x坐标 | W | | > | >> y坐标 | H | | > > ##### curve-smooth > | 说明 | 位数 | 备注 | > | --------------- | ---- | ---- | > | 目标坐标 target | 0 | | > | > x坐标 | W | | > | > y坐标 | H | | > | 控制点 control | 0 | | > | > x坐标 | W | | > | > y坐标 | H | | > > ##### quadratic > | 说明 | 位数 | 备注 | > | --------------- | ---- | ---- | > | 目标坐标 target | 0 | | > | > x坐标 | W | | > | > y坐标 | H | | > | 控制点 control | 0 | | > | > x坐标 | W | | > | > y坐标 | H | | > > ##### quadratic-smooth > | 说明 | 位数 | 备注 | > | --------------- | ---- | ---- | > | 目标坐标 target | 0 | | > | > x坐标 | W | | > | > y坐标 | H | | > > ##### arc > > circle = true > > | 说明 | 位数 | 备注 | > | -------------------- | ---------- | --------------------------------- | > | 是否为正圆 circle | 1 | 否则为椭圆 | > | 圆心坐标 center | 0 | | > | > x坐标 | W | | > | > y坐标 | H | | > | 半径 radius | max(W,H) | 用无符号整数存小数,结果除100 | > | 取线角度 angle | 17 | 用17位有符号整数存小数,结果除100 | > > > circle = false > > | 说明 | 位数 | 备注 | > | -------------------- | ---------- | --------------------------------- | > | 是否为正圆 circle | 1 | 否则为椭圆 | > | 圆心坐标 center | 0 | | > | > x坐标 | W | | > | > y坐标 | H | | > | 轴长 axis-length | 0 | 用无符号整数存小数,结果除100 | > | > x轴 | max(W,H)| | > | > y轴 | max(W,H) | | > | 取线角度 angle | 17 | 用17位有符号整数存小数,结果除100 | ### polygon | 说明 | 位数 | 备注 | | ---------------------- | ---- | ---------- | | 点坐标 points 列表长度 | 16 | 逆时针排列 | | > x坐标 | W | | | > y坐标 | H | | ### round > circle = true | 说明 | 位数 | 备注 | | ----------------- | -------- | --------------------------------- | | 是否为正圆 circle | 1 | 否则为椭圆 | | 半径 radius | max(W,H) | 用无符号整数存小数,结果除100 | | 取线角度 angle | 17 | 用17位有符号整数存小数,结果除100 | > circle = false | 说明 | 位数 | 备注 | | ----------------- | -------- | --------------------------------- | | 是否为正圆 circle | 1 | 否则为椭圆 | | 轴长 axis-length | 0 | 用无符号整数存小数,结果除100 | | > x轴 | max(W,H) | | | > y轴 | max(W,H) | | | 取线角度 angle | 17 | 用17位有符号整数存小数,结果除100 | ### group | 说明 | 位数 | 备注 | | ------------------------ | ---- | ------------------- | | 组成员 members 列表长度 | 16 | | | > 是否是map中元素 of-map | 1 | 否则为iterate中元素 | | > 元素id id | 16 | | # map-attached ## type | id | 说明 | 备注 | | --- | ----------- | ------ | | 0 | 旋转 rotate | | | 1 | 缩放 zoom | | | 2 | 翻转 flip | 无data | | 3 | 阴影 shadow | 未实现 | | 4 | 边框 border | 未实现 | ## data ### rotate | 说明 | 位数 | 备注 | | -------------- | ---- | --------------------------------- | | 旋转角度 angle | 17 | 用17位有符号整数存小数,结果除100 | ### zoom | 说明 | 位数 | 备注 | | ------------- | ---- | ------------ | | 缩放比例 zoom | 32 | 单精度浮点数 | # iterate-operations ## type | id | 说明 | 备注 | | --- | ----------- | ------ | | 0 | 移动 move | | | 1 | 旋转 rotate | | | 2 | 缩放 zoom | | | 3 | 翻转 flip | 无data | ## data ### move | 说明 | 位数 | 备注 | | --------- | ---- | ---- | | x轴增量dx | W | | | y轴增量dy | H | | ### rotate | 说明 | 位数 | 备注 | | ------------------- | ---- | --------------------------------- | | 旋转中心坐标 center | 0 | | | > x坐标 | W | | | > y坐标 | H | | | 旋转角度 angle | 17 | 用17位有符号整数存小数,结果除100 | ### zoom | 说明 | 位数 | 备注 | | ------------- | ---- | ------------ | | 缩放比例 zoom | 32 | 单精度浮点数 |