我有一个矩形(称为目标),并希望放置另一个矩形(称为卫星)旁边。该卫星有一个位置(顶部,底部,左侧,右侧),用于确定相对于目标的放置边缘。它还有一个对齐方式(左,中,右为顶部和底部位置,顶部,中部和底部为左右位置)。优雅的方式来定位两个矩形
实施例:
+----------+----------------------------+
| | |
| 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的任何好的解决方案?
哥们,好文图!你有没有使用任何特殊的工具来生成它? – bowsersenior 2011-04-15 22:43:19
是的,我用JavE,一个专门的ASCII图编辑器:http://www.jave.de/ – chiborg 2011-04-16 00:33:58
男人你为什么不把'language-agnostic'标签? – 2011-04-16 04:37:35