[我已经注意到Surface Pro和我相信Sony Vaio Duo 11报告的最大触摸坐标为1366x768,这令我感到惊讶,因为它们的原始显示分辨率为1920x1080。有谁知道一种在运行时找出最大触摸坐标的方法?我正在XAML下运行DirectX应用程序,因此我必须将触摸坐标缩放为自己的世界坐标,并且在不知道缩放因子是多少的情况下无法执行此操作。
这是我正在运行的代码,用于查看触摸坐标:
来自DirectXPage.xaml
<Grid PointerPressed="OnPointerPressed"></Grid>
从DirectXPage.xaml.cpp
void DirectXPage::OnPointerPressed(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ args)
{
auto pointerPoint = args->GetCurrentPoint(nullptr);
// the x value ranges between 0 and 1366
auto x = pointerPoint->Position.X;
// the y value ranges between 0 and 768
auto y = pointerPoint->Position.Y;
}
此外,这是一个示例项目设置,如果在Surface Pro上运行,可以演示此问题:http://andrewgarrison.com/files/TouchTester.zip