IInkAnalyzer 接口
提供对布局分析、书写和绘图分类以及手写识别的访问。
成员
IInkAnalyzer 接口继承自 IUnknown 接口。 IInkAnalyzer 还具有以下类型的成员:
方法
IInkAnalyzer 接口具有以下方法。
方法 | 说明 |
---|---|
中止 | 取消当前分析操作。 |
AddStroke | 将单个笔划的笔划数据添加到 IInkAnalyzer ,并将活动输入线程的区域性标识符分配给笔划。 |
AddStrokeForLanguage | 将单个笔划的笔划数据添加到 IInkAnalyzer ,并向笔划分配特定的区域性标识符。 |
AddStrokes | 将多个笔划的笔划数据添加到 IInkAnalyzer ,并将活动输入线程的区域性标识符分配给笔划。 |
AddStrokesForLanguage | 将多个笔划的笔划数据添加到 IInkAnalyzer ,并将指定的区域性标识符分配给笔划。 |
AddStrokesToCustomRecognizer | 将多个笔划的笔划数据添加到自定义识别器节点。 |
AddStrokeToCustomRecognizer | 将单个笔划的笔划数据添加到自定义识别器节点。 |
分析 | 执行同步墨迹分析。 |
BackgroundAnalyze | 执行异步墨迹分析。 |
ClearStrokeData | 从 IInkAnalyzer 中清除笔划数据包数据。 |
CreateAnalysisHint | 将具有无限区域的新分析提示节点添加到 IInkAnalyzer。 |
CreateContextNodes | 创建 IContextNodes 对象。 |
CreateCustomRecognizer | 为 IInkAnalyzer 创建新的自定义识别器节点。 |
DeleteAnalysisHint | 从 IInkAnalyzer 中删除分析提示。 |
FindInkLeafNodes | 检索所有墨迹叶节点。 |
FindInkLeafNodesForStrokes | 检索包含指定笔划的墨迹叶节点。 |
FindLeafNodes | 检索所有叶节点。 |
FindNode | 检索指定全局唯一标识符的 IContextNode 对象 (GUID) 。 |
FindNodesOfType | 检索指定类型的所有 IContextNode 对象。 |
FindNodesOfTypeForStrokes | 检索包含指定笔划的指定类型的所有 IContextNode 对象。 |
FindNodesOfTypeInSubTree | 检索指定类型的所有 IContextNode 对象,这些对象是指定 IContextNode 对象的后代。 |
FindNodesWithCallBack | 检索与指定条件匹配的所有 IContextNode 对象。 |
FindNodesWithCallBackInSubTree | 检索与指定条件匹配且是指定 IContextNode 对象的后代的所有 IContextNode 对象。 |
GetAlternates | 检索与 IInkAnalyzer 关联的所有墨迹的 10 个分析备用项。 |
GetAlternatesForContextNodes | 检索指定 IContextNodes 集合中节点的分析备用项。 |
GetAlternatesForStrokes | 检索具有指定笔划标识符的笔划的分析替代项。 |
GetAnalysisHints | 检索附加到 IInkAnalyzer 的所有分析提示 IContextNode 对象。 |
GetAnalysisHintsByName | 检索附加到 IInkAnalyzer 且具有指定名称的所有分析提示 IContextNode 对象。 |
GetAnalysisModes | 检索控制 IInkAnalyzer 如何执行墨迹分析的标志。 |
GetDirtyRegion | 检索自上次分析操作以来已更改的区域。 |
GetInkAnalysisRecognizersByPriority | 检索 IInkAnalysisRecognizer 对象的有序集合。 |
GetNodesFromTextRange | 检索与指定上下文节点的指定文本范围相关的 IContextNode 对象的集合。 |
GetRecognizedString | 检索 IInkAnalyzer 中整个上下文节点树的识别操作的最佳结果字符串。 |
GetRootNode | 检索 IInkAnalyzer 对象的上下文树的根 IContextNode。 |
GetStrokeLanguageId | 检索指定笔划的区域设置标识符。 |
GetStrokeType | 检索指定笔划的类型。 |
GetTextRangeFromNodes | 查找与 IContextNode 对象集合相对应的已识别字符串中的文本范围。 |
IsAnalyzing | 检索一个值,该值指示 IInkAnalyzer 是否正在执行墨迹分析。 |
LoadResults | 将保存的分析结果加载到 IInkAnalyzer 中。 |
ModifyTopAlternate | 将当前顶部备用项更改为指定的备用,并清除与该备用项关联的所有 IContextNode 对象的确认类型。 |
ModifyTopAlternateWithConfirmation | 将当前顶部备用项更改为指定的 IAnalysisAlternate。 |
协调 | 确定分析结果的哪些部分在后台墨迹分析期间发生了更改。 |
RemoveStroke | 从 IInkAnalyzer 中删除指定的笔划。 |
RemoveStrokes | 从 IInkAnalyzer 中删除指定的笔划。 |
SaveResults | 保存 IInkAnalyzer 的所有分析结果。 |
SaveResultsForNodes | 保存与 IInkAnalyzer 关联的特定上下文节点集合的分析结果。 |
SaveResultsForStrokes | 保存与 IInkAnalyzer 关联的指定笔划的分析结果。 |
搜索 | 提供基于模糊、不区分大小写的短语搜索,用于已分析的笔划和已识别类型的已分析绘图笔划。 |
SearchWithLanguageId | 提供基于模糊、不区分大小写的短语搜索,用于已分析的笔划和已识别类型的已分析绘图笔划。 |
SetAnalysisModes | 修改控制 IInkAnalyzer 执行墨迹分析方式的标志。 |
SetDirtyRegion | 修改自上次分析操作以来已更改的区域。 |
SetHighestPriorityInkAnalysisRecognizer | 将指定的 IInkAnalysisRecognizer 移动到 IInkAnalyzer 对象的墨迹识别器列表中的第一个位置。 |
SetStrokeLanguageId | 更改指定笔划的区域设置标识符。 |
SetStrokesLanguageId | 更改指定笔划的区域设置标识符。 |
SetStrokesType | 更改指定笔划的类型。 |
SetStrokeType | 更改指定笔划的类型。 |
UpdateStrokesData | 汇报指定笔划的数据包数据。 |
备注
IInkAnalyzer 使用笔划数据包数据来分析墨迹,并且不直接与 InkDisp 类 或 InkStrokes 集合 对象交互。
若要添加或删除 IInkAnalyzer 的笔划进行分析,请使用以下方法之一。
- IInkAnalyzer::AddStroke 方法
- IInkAnalyzer::AddStrokes 方法
- IInkAnalyzer::RemoveStroke 方法
- IInkAnalyzer::RemoveStrokes 方法
这些方法更新脏区域 (请参阅 IInkAnalyzer::GetDirtyRegion 方法) ,这是在下一个分析操作中分析笔划的区域。
若要分析墨迹,请使用 IInkAnalyzer::Analyze 方法 或 IInkAnalyzer::BackgroundAnalyze 方法 。 在分析期间, IInkAnalyzer 执行布局分析、笔划分类和手写识别。
若要更改布局分析和笔划分类设置,请使用 IInkAnalyzer::SetAnalysisModes 方法 属性。
在分析期间, IInkAnalyzer 接收许多事件,包括后台分析期间生成的事件。 _IAnalysisProxyEvents 支持 IInkAnalyzer 的数据代理功能。 有关详细信息,请参阅 使用墨迹分析的数据代理。 若要在事件处理程序中停止分析过程,请调用 IInkAnalyzer::Abort 方法。
若要修改墨迹分析器用于识别手写的语言,请使用 IInkAnalyzer::SetStrokeLanguageId 方法 或 IInkAnalyzer::SetStrokesLanguageId 方法。 若要修改墨迹分析器对特定笔划进行分类的方式,请使用 IInkAnalyzer::SetStrokeType 方法 或 IInkAnalyzer::SetStrokesType 方法。
IInkAnalyzer 加载所有已安装墨迹识别器的信息。 IInkAnalyzer::GetInkAnalysisRecognizersByPriority 方法 返回包含每个可用 IInkAnalysisRecognizer 的IInkAnalysisRecognizers 集合。 如果多个墨迹识别器支持特定语言,请使用 IInkAnalyzer::SetHighestPriorityInkAnalysisRecognizer 方法 设置哪个墨迹识别器处理该语言的笔划。
使用分析提示可以通过为墨迹分析器提供额外的上下文来提高识别准确性。 其他上下文信息可帮助墨迹分析器限制可能识别结果的数量。 例如,可以通过定义事实和预期字词或将输入构建到识别指南中来缩小范围。 有关为墨迹分析器提供上下文的详细信息,请参阅:
- IInkAnalyzer::CreateAnalysisHint 方法
- IInkAnalyzer::D eleteAnalysisHint 方法
- IInkAnalyzer::GetAnalysisHints 方法
- IInkAnalyzer::GetAnalysisHintsByName 方法
墨迹分析器将分析结果表示为字符串或 IContextNode 对象的树。 若要访问识别的字符串,请使用 IInkAnalyzer::GetRecognizedString 方法。 若要访问上下文节点树的根目录,请使用 IInkAnalyzer::GetRootNode 方法。 墨迹分析器具有以下用于查找特定上下文节点或文本的方法。
- IInkAnalyzer::FindInkLeafNodes 方法
- IInkAnalyzer::FindInkLeafNodesForStrokes 方法
- IInkAnalyzer::FindLeafNodes 方法
- IInkAnalyzer::FindNode 方法
- IInkAnalyzer::FindNodesOfType 方法
- IInkAnalyzer::FindNodesOfTypeForStrokes 方法
- IInkAnalyzer::FindNodesOfTypeInSubTree 方法
- IInkAnalyzer::FindNodesWithCallBack 方法
- IInkAnalyzer::FindNodesWithCallBackInSubTree 方法
若要使用备用分析结果,请使用以下方法之一。
- IInkAnalyzer::GetAlternates 方法
- IInkAnalyzer::GetAlternatesForContextNodes 方法
- IInkAnalyzer::GetAlternatesForStrokes 方法
- IInkAnalyzer::ModifyTopAlternate 方法
- IInkAnalyzer::ModifyTopAlternateWithConfirmation 方法
若要保存分析结果,请使用以下方法之一。
- IInkAnalyzer::SaveResults 方法
- IInkAnalyzer::SaveResultsForNodes 方法
- IInkAnalyzer::SaveResultsForStrokes 方法
若要加载保存的结果,请使用 IInkAnalyzer::LoadResults 方法。
有关使用 IInkAnalyzer 分析墨迹的详细信息,请参阅 墨迹分析概述。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows XP Tablet PC Edition [仅限桌面应用] |
最低受支持的服务器 |
无受支持的版本 |
标头 |
|
DLL |
|