c#捏操作中心的变化
本文关键字:变化 操作 | 更新日期: 2023-09-27 18:10:43
我正在尝试使用翻译和捏操作,两者都很好。唯一的问题是,使用后捏操作中心的变化和平移操作不像预期的那样工作。我的代码:
void r_ManipulationDelta(object sender, System.Windows.Input.ManipulationDeltaEventArgs e)
{
Rectangle r = (sender) as Rectangle;
((CompositeTransform)r.RenderTransform).TranslateX += e.DeltaManipulation.Translation.X;
((CompositeTransform)r.RenderTransform).TranslateY += e.DeltaManipulation.Translation.Y;
if (e.PinchManipulation != null)
{
((CompositeTransform)r.RenderTransform).ScaleX *= e.DeltaManipulation.Scale.X;
((CompositeTransform)r.RenderTransform).ScaleY *= e.DeltaManipulation.Scale.X;
}
}
我该怎么办?
请看这里的评论:https://msdn.microsoft.com/en-us/library/system.windows.media.compositetransform(v=vs.95).aspx
变换是按比例,倾斜,旋转&然后翻译。
如果需要,您应该在任何转换之前设置中心属性。
如果你需要一个特定的不同的顺序,那么TransformGroup应该使用&此外,如果中心点应该为每个转换不同