使用CompositeTransform进行旋转和平移后。两个消息框中形状的坐标保持不变。
Messagebox.Show(Convert.ToString(T1Shape.Points[i].X)) ;
initialAngle = transform.Rotation;
initialScale = transform.ScaleX;
transform.TranslateY = -150;
transform.TranslateX = 200;
Messagebox.Show(Convert.ToString(T1Shape.Points[i].X)) ;
如何在画布上或转换后找出多边形的坐标?
感谢您的帮助。
答案 0 :(得分:1)
阅读本文......
答案 1 :(得分:0)
您必须自己应用变换才能找到变换后的坐标。
答案 2 :(得分:0)
您只需获取相对于0,0
的UIElement的位置(假设您需要标准位置)。平移位置仅与其自身相关,并且不会带回多边形本身的新位置。因此,应该这样做:
var gtransform = myPolygon.TransformToVisual(Application.Current.RootVisual as UIElement);
Point position = gtransform.Transform(new Point(0, 0));
然后,您可以使用position.X
和position.Y
分别获取X和Y位置。