我注意到 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