2011-05-24 57 views

回答

1

你可以得到边框的每个项目,计算它的四个极值点,然后应用在其上的变换(倾斜,旋转,...)

然后你就可以很容易地计算出通过计算所有这些点的最小值和最大值x和y来计算边界框。

+0

你可以发表一个例子 – Code0987 2011-05-24 19:35:32

0

在你想要的项目列表上做一个foreach。在循环的每次迭代中,获取项目的Canvas位置(左上角)并添加ActualWidth/ActualHeight以获得右下角点。取左上角和右下角的点,并调用Transform.Transform来获取ACTUAL的左上角和右下角点。

跟踪左上角和右下角的最小值和最大值以获得您的边界框。

1

这是一个指向Dynamic Canvas的实现的链接。该控件会自动调整大小以适应其内容,因此可以在此代码中找到解决问题的答案。看看MeasureOverride功能。