2022-07-29 10:43:47 +08:00
|
|
|
|
# 整体结构总览
|
|
|
|
|
> 注:所有x、y坐标都为有符号整数,实际处理时需要除以1000变回小数
|
|
|
|
|
|
2022-08-04 16:37:48 +08:00
|
|
|
|
| 说明 | 位数 | 备注 |
|
|
|
|
|
| -------------------------------- | ---- | ---------------------------------------------- |
|
|
|
|
|
| 图像宽度 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) |
|
2022-07-29 10:43:47 +08:00
|
|
|
|
|
|
|
|
|
# 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 | 单精度浮点数 |
|