如何在UWP中计算线的旋转坐标

时间:2019-01-30 04:47:59

标签: c# uwp

我已经使用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);

1 个答案:

答案 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