c#metro风格应用程序中的手写识别

c#metro风格应用程序中的手写识别,c#,xaml,microsoft-metro,windows-runtime,handwriting,C#,Xaml,Microsoft Metro,Windows Runtime,Handwriting,我正在开发一个记笔记的应用程序。我希望用户使用“Windows.UI.Input.Inking”的InkManager在画布上写任何东西。然后我 我想将它显示为画布上的文本,然后我想以文本或图像格式保存识别出的文本 我检查了文档,但仍然不知道如何开始。我怎样才能把墨水笔划画到画布上,怎样才能识别它?请问有谁能指引我?我需要它尽快为我的应用程序 我已经尝试过这个代码,但没有成功 private async void Recognize_Click(object sender, RoutedEven

我正在开发一个记笔记的应用程序。我希望用户使用“Windows.UI.Input.Inking”的InkManager在画布上写任何东西。然后我 我想将它显示为画布上的文本,然后我想以文本或图像格式保存识别出的文本

我检查了文档,但仍然不知道如何开始。我怎样才能把墨水笔划画到画布上,怎样才能识别它?请问有谁能指引我?我需要它尽快为我的应用程序

我已经尝试过这个代码,但没有成功

private async void Recognize_Click(object sender, RoutedEventArgs e)
{
    IReadOnlyList<InkRecognitionResult> x = await _inkManager.RecognizeAsync(InkRecognitionTarget.All);
    IReadOnlyList<String> text;
    foreach (InkRecognitionResult i in x)
    {
        text = i.GetTextCandidates();
        res.Text = text.First();
    }
}
private async void识别\u单击(对象发送方,路由目标)
{
IReadOnlyList x=wait _inkManager.RecognizeAsync(InkRecognitionTarget.All);
IReadOnlyList文本;
foreach(x中的InkRecognitionResult i)
{
text=i.GetTextCandidates();
res.Text=Text.First();
}
}

我自己终于找到了解决方案

    IReadOnlyList<String> text;
    string finalt = "";  //for space
    private async void Recognize_Click(object sender, RoutedEventArgs e)
    {
        IReadOnlyList<InkRecognitionResult> x = await _inkManager.RecognizeAsync(InkRecognitionTarget.All);
        foreach (InkRecognitionResult i in x)
        {
            text = i.GetTextCandidates();
            finalt += " " + text[0];
            res.Text = finalt;  //res is the x:Key for the text block
        }
    }
IReadOnlyList文本;
字符串finalt=“”//空间
私有异步无效识别\u单击(对象发送方,路由目标)
{
IReadOnlyList x=wait _inkManager.RecognizeAsync(InkRecognitionTarget.All);
foreach(x中的InkRecognitionResult i)
{
text=i.GetTextCandidates();
finalt+=“”+文本[0];
res.Text=finalt;//res是文本块的x:键
}
}

一个又一个更好的

我没有得到任何输出,我只是调试了程序并检查了“text”的值,但它没有显示。你每次都在覆盖文本。也许只需执行System.Diagnostics.Debug.WriteLine(i.GetTextCandidates())即可查看在调试器中打印的实际结果。最后一个候选项可能是空的。最后我得到了一些输出,我添加了一个文本块(x:Name=res)并在文本块上打印输出,但它仍然无法识别空格(“”)。PS:我有更新源问题