4

我正在使用 .net 4 beta 2 触摸库,并且试图在我的 WPF 应用程序中实现缩放功能。

我可以让缩放工作得很好,但我想要的是放大捏合手势的中心,而我在 API 中看不到任何关于如何完成此操作的内容。

是否有一些方法或属性可以暴露在捏合手势中使用的 2 个联系人,以便我可以得到它们的中心?

编辑:

我只是使用似乎没有给我想要的方法的GetIntermediateTouchPoints方法进行调查。TouchEventArgs

非常感谢马克

4

3 回答 3

0

Turns out that the properties I was after was right in front of me all along.

the Manipulation2DDeltaEventArgs class has OriginX and OriginX properties that specific the center point of the pinch gesture, so Im just using that and its all good :)

于 2010-03-09T02:51:04.300 回答
0

假设您正在使用新的TouchXxxxEvent路由事件,它们都TouchEventArgs具有TouchDevice属性。如果你调用它的GetTouchPoint()方法,你可以得到TouchPoint代表触摸点的那个。

Jaime Rodriguez 提供的更多详细信息和示例代码

于 2010-01-21T10:34:04.863 回答
0

此答案适用于 .Net 4 发行版。

在使用ManipulationDelta事件的情况下,ManipulationDeltaEventArgs.ManipulationOrigin包含捏合手势的中心点。坐标是相对于 的ManipulationDeltaEventArgs.ManipulationContainer,可以在ManipulationStarting事件的处理程序中设置。

示例代码:

private void object_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
{
    ...
    // If this was a multitouch gesture 
    // (like pinch/zoom - indicated by e.DeltaManipulation.Scale)
    // the following line will get us point between fingers.
    Point position = e.ManipulationOrigin;
    ...
}
于 2012-04-12T20:48:01.760 回答