位置计算

本节的内容可以参考示例文件"数据看板.Table"中的窗口"线性仪表相对位置计算"。

我们以上一页的六个个线性仪表的排列效果举例说明,看看相对定位的位置计算。

首先假设仪表控件的大小设置为宽600 * 高400,单位为像素。

其次,我们按3行2列的方式排列6个仪表。

基于上面2点,我们开始计算6个仪表的位置。由于线性仪表可以单独设置宽和高,和径向仪表不一样,不存在大小边的问题,所以更简单一点,只需要设置好比例即可,不需要计算像素位置。

1、添加一个空白线性仪表,为了方便查看效果,我们给这个仪表添加一个Rectangle、一个Ellipse、一个Marks。

2、这里上下间距,仪表之间的间距统一按0.05取值。那么3行就有4个间距,总共是占用:0.05 * 4 = 0.2的比例,剩余空间为:1 - 0.2 = 0.8,分配给3个仪表,每个仪表的高度就是0.8 / 3 ≈ 0.27。那么所有仪表的高度BaseFactor值统一设置为0.27。

同理,2列有3个间距,占用空间0.05 * 3 = 0.15,剩余空间为:1 - 0.15 = 0.85,分配给2个仪表,每个仪表的宽度就是0.85 / 2  = 0.425。那么所有仪表的宽度AxisLength值统一设置为0.425。

然后第一行的BaseOrigin值就是0..05;第二行的BaseOrigin值就是0..05 + 0.27 + 0.05 = 0.37;第三行的BaseOrigin值就是0.37 + 0.27 + 0.05 = 0.69。

同理,第一列的AxisStart值就是0..05;第二列的BaseOrigin值就是0..05 + 0.425 + 0.05 = 0.525;