【发布时间】:2011-09-08 15:54:42
【问题描述】:
我需要在一条线上使用 RotateTransform 方法在旋转后找出线的新坐标。
例如,在这一行之后:
line.RenderTransform = new RotateTransform(25, 0, 0);
line.X1 和其他三个属性不会改变。我为矩形等形状找到了一些解决方案,但它不适用于线条。 Line 有不同的处理方式。
编辑:感谢您的帮助H.B.第二种方法正是我一直在寻找的。p>
解决方案:
Line line = new Line();
line.X1 = 10;
line.Y1 = 10;
line.X2 = 20;
line.Y2 = 30;
RotateTransform rotation = new RotateTransform();
Point p1 = rotation.Transform(new Point(line.X1, line.Y1));
Point p2 = rotation.Transform(new Point(line.X2, line.Y2));
line.X1 = p1.X;
line.Y1 = p1.Y;
line.X2 = p2.X;
line.Y2 = p2.Y;
此代码旋转线并将新的坐标值设置为该线的附加属性。
【问题讨论】:
标签: wpf rotation line coordinates transform