放置两个矩形的优雅方式
|
我有一个矩形(称为目标),并希望在其旁边放置另一个矩形(称为卫星)。卫星的位置(上,下,左,右)确定相对于目标的放置边缘。它还具有对齐方式(左,中,右为顶部和底部位置,顶部,中部和底部为左侧和右侧位置)。
例:
+----------+----------------------------+
| | |
| Target | Satellite, Position=RIGHT, |
| | Align=TOP |
| | |
| |----------------------------+
| |
+----------+
我知道目标的左上角坐标及其宽度和高度。我也知道卫星的宽度和高度,并想计算它的左上角坐标。我可以通过一系列12个if
子句来做到这一点,但是也许有更优雅,数学或算法的方法可以做到这一点。是否有替代方法:
# s = satellite, t = target
if pos == \"top\" && align == \"left\"
s.x = t.x
s.y = t.y - s.height
else if pos == \"top\" && align == \"center\"
s.x = t.x + t.width / 2 - s.width / 2
s.y = t.y - s.height
# etc, etc
Ruby或JavaScript有什么好的解决方案吗?
没有找到相关结果
已邀请:
3 个回复
版萍层分
计算为1和and4ѭ计算为0的技巧的所有数学和逻辑: ps。 (查看有效的jsfiddle:http://jsfiddle.net/vQqSe/52/)
梦话快家腹
镰茧钩
要么