2011-05-13 141 views
3

使用CompositeTransform进行旋转和平移之后。两个消息框中的形状坐标保持不变。查找多边形坐标WP7

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

您必须自己应用转换才能找出转换后的坐标。

0

您只需获得的UIElement相对于0,0位置(假设你想要的标准位置)。翻译位置仅相对于其自身,并不会恢复多边形本身的新位置。因此,这应该这样做:

var gtransform = myPolygon.TransformToVisual(Application.Current.RootVisual as UIElement); 
Point position = gtransform.Transform(new Point(0, 0)); 

然后可以使用position.Xposition.Y分别得到X和Y位置。