Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Nem todos os aplicativos exigem o uso de reconhecimento, mas como a maioria dos aplicativos foi projetada com texto como seu tipo de dados primário, a capacidade de converter tinta em texto é muito valiosa. Você pode usar os recursos de reconhecimento da API da plataforma do Tablet PC para consultar informações sobre os mecanismos de reconhecimento disponíveis, como quais idiomas eles reconhecem. Depois, pode enviar uma coleção Strokes de um objeto Ink para um motor de reconhecimento e obter que ele retorne um objeto RecognitionResult.
Objeto RecognizerContext
Um objeto RecognizerContext é a instanciação de um determinado reconhecedor. O objeto RecognizerContext permite reconhecer um determinado conjunto de traçados de forma síncrona ou assíncrona. Ao reconhecer de forma assíncrona, o objeto RecognizerContext retorna o objeto RecognitionResult em um retorno de chamada de evento para o aplicativo.
Reconhecedores e objetos reconhecedores
Um único Tablet PC pode ter um ou mais reconhecedores disponíveis. Você pode consultar a coleção do reconhecedor para determinar qual reconhecedor usar. Um reconhecedor fornece informações específicas sobre seus recursos, como o idioma que ele pode reconhecer e o fabricante.
Para determinar se pelo menos um reconhecedor está instalado, instancie um objetoInkRecognizerContext, conforme mostrado nos exemplos de código C++ e C# a seguir. Se um reconhecedor não estiver presente, essa chamada para CoCreateInstance falhará.
CComPtr<IInkRecognizerContext> g_pIInkRecoContext;
hr = CoCreateInstance(CLSID_InkRecognizerContext,
NULL, CLSCTX_INPROC_SERVER,
IID_IInkRecognizerContext,
(void **) &g_pIInkRecoContext);
if (FAILED(hr))
{
::MessageBox(NULL, TEXT("No recognizers installed.\nExiting."),
gc_szAppName, MB_ICONERROR);
return -1;
}
try
{
Recognizers recos = new Recognizers();//Check for recognizer.
Recognizer defReco = recos.GetDefaultRecognizer();
recoContext = defReco.CreateRecognizerContext();
}
catch
{
MessageBox.Show("No recognizers installed.");
}
ResultadoDeReconhecimento e AlternativaDeReconhecimentoObjetos
Os resultados do reconhecimento são retornados num objeto RecognitionResult. Os resultados contêm a mais adequada cadeia de caracteres de resultado na TopString propriedade, bem como uma coleção de resultados alternativos em uma coleção RecognitionAlternates. O objeto RecognitionResult pode ser armazenado com a coleção original de Strokes a partir da qual foi gerado.
Estrutura do RecognizerGuide
O guia do reconhecedor pode consistir em linhas e colunas e dá ao reconhecedor um contexto melhor para executar o reconhecimento. Por exemplo, você pode desenhar linhas horizontais na tela de um usuário, quase como um pedaço de papel regrado, que mostram onde a caligrafia deve ocorrer (esse tipo de guia consistiria apenas em linhas e sem colunas). Se um usuário escreve nas linhas, em vez de algum espaço arbitrário, a precisão do reconhecimento melhora.
A ilustração a seguir mostra uma estrutura RecognizerGuide com duas linhas para entrada.
A ilustração seguinte mostra uma estrutura RecognizerGuide com quatro colunas e três linhas.
Para mais informações sobre como usar a estrutura do RecognizerGuide, consulte o tópico de referência RecognizerGuide.