ArchitectureColoredPainting.../1st_encode/byte.md

10 KiB
Raw Blame History

整体结构总览

所有x、y坐标都为有符号整数实际处理时需要除以1000变回小数

说明 位数 备注
图像宽度 width 16 实际位数+11记为W
图像高度 height 16 实际位数+11记为H
elements列表长度 16 标记了该图像上的所有元素原型
> 元素种类 type 4
> 元素信息 data 详见elements
map列表长度 16 标记了该图像上所有元素原型在图像中的信息
> 元素id element 16
> 坐标 position 0
>> x坐标 W
>> y坐标 H
> 所处层数 level 16 从0x00FF开始递增置入底层操作直接移到当前最下
> 附加信息 attached 列表长度 8 详见map-attached
iterate列表长度 16 标记该图像中应用迭代函数系统的信息
> 是否为元素组 element-group 1 若为1则在elements中寻找组的原始map信息
> 原始元素mapId target 16
> 迭代次数 times 32
> 单次迭代孩子 children 列表长度 8 其中每个operations列表代表一个孩子
>> 迭代操作 operations 列表长度 8 详见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

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 单精度浮点数