GestureRecognizer.Recognize(StrokeCollection) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した StrokeCollection 内でジェスチャを検索します。
public:
System::Collections::ObjectModel::ReadOnlyCollection<System::Windows::Ink::GestureRecognitionResult ^> ^ Recognize(System::Windows::Ink::StrokeCollection ^ strokes);
[System.Security.SecurityCritical]
public System.Collections.ObjectModel.ReadOnlyCollection<System.Windows.Ink.GestureRecognitionResult> Recognize (System.Windows.Ink.StrokeCollection strokes);
public System.Collections.ObjectModel.ReadOnlyCollection<System.Windows.Ink.GestureRecognitionResult> Recognize (System.Windows.Ink.StrokeCollection strokes);
[<System.Security.SecurityCritical>]
member this.Recognize : System.Windows.Ink.StrokeCollection -> System.Collections.ObjectModel.ReadOnlyCollection<System.Windows.Ink.GestureRecognitionResult>
member this.Recognize : System.Windows.Ink.StrokeCollection -> System.Collections.ObjectModel.ReadOnlyCollection<System.Windows.Ink.GestureRecognitionResult>
Public Function Recognize (strokes As StrokeCollection) As ReadOnlyCollection(Of GestureRecognitionResult)
パラメーター
- strokes
- StrokeCollection
ジェスチャを検索する StrokeCollection。
戻り値
GestureRecognitionResult で認識されたアプリケーション ジェスチャを格納する GestureRecognizer 型の配列。
- 属性
例
次の例では、 がジェスチャであるかどうかを Stroke 判断する方法を ScratchOut 示します。
private bool InterpretScratchoutGesture(Stroke stroke)
{
// Attempt to instantiate a recognizer for scratchout gestures.
ApplicationGesture[] gestures = { ApplicationGesture.ScratchOut };
GestureRecognizer recognizer = new GestureRecognizer(gestures);
if (!recognizer.IsRecognizerAvailable)
return false;
// Determine if the stroke was a scratchout gesture.
StrokeCollection gestureStrokes = new StrokeCollection();
gestureStrokes.Add(stroke);
ReadOnlyCollection<GestureRecognitionResult> results = recognizer.Recognize(gestureStrokes);
if (results.Count == 0)
return false;
// Results are returned sorted in order strongest-to-weakest;
// we need only analyze the first (strongest) result.
if (results[0].ApplicationGesture == ApplicationGesture.ScratchOut &&
results[0].RecognitionConfidence == RecognitionConfidence.Strong)
{
// Use the scratchout stroke to perform hit-testing and
// erase existing strokes, as necessary.
return true;
}
else
{
// Not a gesture: display the stroke normally.
return false;
}
}
Private Function InterpretScratchoutGesture(ByVal stroke As Stroke) As Boolean
' Attempt to instantiate a recognizer for scratchout gestures.
Dim gestures() As ApplicationGesture = {ApplicationGesture.ScratchOut}
Dim recognizer As New GestureRecognizer(gestures)
If Not recognizer.IsRecognizerAvailable Then
Return False
End If
' Determine if the stroke was a scratchout gesture.
Dim gestureStrokes As StrokeCollection = New StrokeCollection()
gestureStrokes.Add(stroke)
Dim results As ReadOnlyCollection(Of GestureRecognitionResult)
results = recognizer.Recognize(gestureStrokes)
If results.Count = 0 Then
Return False
End If
' Results are returned sorted in order strongest-to-weakest;
' we need only analyze the first (strongest) result.
If (results(0).ApplicationGesture = ApplicationGesture.ScratchOut) Then
' Use the scratchout stroke to perform hit-testing and
' erase existing strokes, as necessary.
Return True
Else
' Not a gesture: display the stroke normally.
Return False
End If
End Function
注釈
メソッドによって Recognize 返される配列は、 プロパティによって GestureRecognitionResult.RecognitionConfidence 並べ替えられます。 たとえば、 Recognize は次の値を GestureRecognitionResult 持つ配列を返します。
インデックス | ApplicationGesture | RecognitionConfidence |
---|---|---|
0 | Check | Strong |
1 | NoGesture | Intermediate |
2 | Curlicue | Poor |
3 | DoubleCurlicue | Poor |
これは、 GestureRecognizer がチェック マークである Stroke 可能性が非常に高く、 がジェスチャではない可能性が Stroke 比較的高く、 が curlicue または二重 curlicue である Stroke 可能性は全くないことを認識することを意味します。
注意
メソッドはRecognize、他のアプリケーション ジェスチャよりも高い RecognitionConfidence を持つ NoGesture 配列を返すことができます。 つまり、 が低いジェスチャではなく、ジェスチャではない可能性が高 Stroke くなります RecognitionConfidence。
適用対象
.NET