私はSurfaceProとSonyVaioDuo 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