用于在相等距离处垂直或水平分布/对齐多个所选形状的算法

问题描述 投票:1回答:1

我需要编写逻辑来水平或垂直分配或对齐多个选定的形状,并在所选的形状/对象之间使用相等的空格。

在PowerPoint 2010中,我们有选项“Distribute horizo​​natlly”和“Distribute vertical”。 Please refer this link for clarification我必须在我的应用程序中实现类似的功能。

是否有任何算法可以满足我的要求?

algorithm
1个回答
0
投票

注意:这里我只将@SaiBot评论转换为步骤

  1. 计算每个形状的最小矩形边框(这取决于您如何实现形状)。您可以通过使用编程语言的标记发布另一个问题来帮助您完成此步骤。
  2. 总形状宽度=所有形状宽度的总和。
  3. 剩余白色宽度=页面宽度 - 总形状宽度
  4. 空间(每个形状之间的空间)=剩余白色宽度/(n - 1)。其中n是形状的数量。
  5. 第一个形状位置为零(即最左边的点)。
  6. 每个形状(第一个除外)位置等于位于其前面的所有形状的总和+“空间”*这些形状的数量。 如果形状索引(i)从0开始到n,则形状宽度为Wi,形状起始位置为Pi,Space为每个形状之间计算的白色空间,然后...... 空间=总和[从0到n](Wi)/(n - 1) Pi = Sum [从0到i](Wi)+ n *空格
© www.soinside.com 2019 - 2024. All rights reserved.