IInkAnalyzer::Analyze 方法
执行同步墨迹分析。
语法
HRESULT Analyze(
[out] IAnalysisStatus **ppStatus
);
parameters
-
ppStatus [out]
-
指向描述分析操作状态的 IAnalysisStatus 的指针。
返回值
有关返回值的说明,请参阅 类和接口 - 墨迹分析。
备注
注意
若要避免内存泄漏,请在不再需要使用分析状态时在 ppStatus 上调用 IUnknown::Release。
此方法启动同步墨迹分析操作。 墨迹分析包括版式分析、书写和绘图分类以及手写识别。 此方法在分析操作完成后返回。
如果 ppStatus 为 NULL,则此方法返回E_POINTER。
在调用 IInkAnalyzer::Analyze 方法或 IInkAnalyzer::BackgroundAnalyze 方法期间,IInkAnalyzer 分析其脏区域内的墨迹 (请参阅 IInkAnalyzer::GetDirtyRegion 方法) 。 但是, IInkAnalyzer 可能会扩展分析操作以包括邻近区域。
此方法将 IInkAnalyzer 对象的脏区域设置为空区域。 如果另一个线程添加了尚未分析的笔划数据,则 IInkAnalyzer 会在分析的协调阶段将未分析笔划的边界框添加到其脏区域。
如果应用程序不处理 _IAnalysisEvents::UpdateStrokesCache 事件,此方法将返回错误。
IInkAnalyzer 不会引发 _IAnalysisEvents::Results 和 _IAnalysisEvents::IntermediateResults 事件以响应此方法。
若要修改墨迹分析的执行方式,请使用 IInkAnalyzer::SetAnalysisModes 方法。
有关墨迹分析的详细信息,请参阅 墨迹分析概述。
示例
以下示例执行前台墨迹分析。
// Perform synchronous ink analysis.
IAnalysisStatus *pAnalysisStatus = NULL;
hr = this->m_spIInkAnalyzer->Analyze(&pAnalysisStatus);
if (SUCCEEDED(hr))
{
// Insert code that processes the analysis results.
}
// Release this reference to the analysis status.
if (pAnalysisStatus != NULL)
{
pAnalysisStatus->Release();
pAnalysisStatus = NULL;
}
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows XP Tablet PC Edition [仅限桌面应用] |
最低受支持的服务器 |
无受支持的版本 |
标头 |
|
DLL |
|