我已经使用UWP中的“变换组”旋转了一条线。旋转一次后,我需要使用变换矩阵值获取线的新边界。是否可以使用矩阵值获取线的当前点?有人可以帮我吗?
RotateTransform rotate = new RotateTransform();
rotate.Angle = -angle;
var translate = new TranslateTransform
{
X = offset,
Y = offset
};
var group = new TransformGroup
{
Children = { (Transform)translate.Inverse, rotate,translate }
};
line.RenderTransform = group;
var matrix = ((line.RenderTransform as TransformGroup).Value);
答案 0 :(得分:1)
如果您知道并访问Parent
中的Line
,那么我认为您可以这样做:
var line_bound = line.TransformToVisual(parent).TransformBounds(new Rect(0, 0, Math.Abs(line.X2 - line.X1), Math.Abs(line.Y2 - line.Y1)));
这里父级可能是Grid
或您附加了Canvas
的{{1}}。
详细了解line
方法here。