1

画面上の指の圧力を判断する方法を見つけることができませんでした。StylusPoints を取得しPressureFactor、それらのポイントのプロパティを使用することが最も明白に思えました。

    private void Image_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {
        var point = e.StylusDevice.GetStylusPoints(Image).Last();
        Debug.WriteLine(point.PressureFactor);

ただし、PressureFactor は常に 0.5 であり、このhttp://msdn.microsoft.com/en-us/library/bb979901(v=vs.95).aspxから、デバイス タイプが「スタイラス」である必要があることがわかります。これが機能します。

また、タッチ イベントのキャプチャに使用するhttp://code.msdn.microsoft.com/Multi-Touch-Drawing-744a0b48も調べました。Touch.FrameReported += new TouchFrameEventHandler(Touch_FrameReported);その後、イベント ハンドラーは にアクセスできますが、プロパティTouchPointはありません。Pressure

タッチ圧力を見つけるにはどうすればよいですか?

4

1 に答える 1

1

MSDN のコード例でわかるように、タッチはスタイラスでのみサポートされています。

 String queryPointer(PointerPoint ptrPt)
 {
     String details = "";

     switch (ptrPt.PointerDevice.PointerDeviceType)
     {
         case Windows.Devices.Input.PointerDeviceType.Mouse:
             details += "\nPointer type: mouse";
             break;
         case Windows.Devices.Input.PointerDeviceType.Pen:
             details += "\nPointer type: pen";
             if (ptrPt.IsInContact)
             {
                 details += "\nPressure: " + ptrPt.Properties.Pressure;
                 details += "\nrotation: " + ptrPt.Properties.Orientation;
                 details += "\nTilt X: " + ptrPt.Properties.XTilt;
                 details += "\nTilt Y: " + ptrPt.Properties.YTilt;
                 details += "\nBarrel button pressed: " + ptrPt.Properties.IsBarrelButtonPressed;
             }
             break;
         case Windows.Devices.Input.PointerDeviceType.Touch:
             details += "\nPointer type: touch";
             details += "\nrotation: " + ptrPt.Properties.Orientation;
             details += "\nTilt X: " + ptrPt.Properties.XTilt;
             details += "\nTilt Y: " + ptrPt.Properties.YTilt;
             break;
         default:
             details += "\nPointer type: n/a";
             break;
     }

....
于 2013-09-20T06:08:05.487 に答える