InkAnalyzerBase.Load 方法
將已儲存的分析結果載入至筆墨分析器。
命名空間: System.Windows.Ink.AnalysisCore
組件: IACore (在 IACore.dll 中)
語法
'宣告
Public Function Load ( _
serializedResults As Byte(), _
originalToNewStrokeIdMap As Hashtable _
) As Boolean
'用途
Dim instance As InkAnalyzerBase
Dim serializedResults As Byte()
Dim originalToNewStrokeIdMap As Hashtable
Dim returnValue As Boolean
returnValue = instance.Load(serializedResults, _
originalToNewStrokeIdMap)
public bool Load(
byte[] serializedResults,
Hashtable originalToNewStrokeIdMap
)
public:
bool Load(
array<unsigned char>^ serializedResults,
Hashtable^ originalToNewStrokeIdMap
)
public boolean Load(
byte[] serializedResults,
Hashtable originalToNewStrokeIdMap
)
public function Load(
serializedResults : byte[],
originalToNewStrokeIdMap : Hashtable
) : boolean
參數
- serializedResults
型別:array<System.Byte[]
8 位元不帶正負號的整數陣列,包含已儲存的分析結果。
- originalToNewStrokeIdMap
型別:System.Collections.Hashtable
舊筆劃識別項與新筆劃識別項的對應,或是 nullNull 參照 (即 Visual Basic 中的 Nothing),保留原始筆劃識別項。
傳回值
型別:System.Boolean
如果筆墨分析器已載入分析結果,則為 true,否則為 false。
備註
當分析器從儲存的結果加入 ContextNodeBase 時,會指派新的全域唯一識別項 (GUID) 給 ContextNodeBase 物件的 Id 屬性。
這個方法會將儲存的分析結果加入至現有的 ContextNodeBase 樹狀目錄中。為確保合併結果的順序正確,請將包含已載入內容節點的區域加入至分析器的 DirtyRegion,然後重新分析筆墨。
SaveResults 方法不會隨分析結果儲存封包資料。
originalToNewStrokeIdMap 中的每個索引鍵都是所儲存分析結果中筆劃的筆劃識別項。originalToNewStrokeIdMap 中的每個值都是新的識別項,會取代已載入之分析結果中的原始識別項。
如果已儲存的分析提示與現有的分析提示衝突,則筆墨分析器不會載入已儲存的提示,但會載入其餘已儲存的結果。不過,如果分析器載入的筆劃結果所在的位置不是分析器載入的已儲存分析提示的區域,則分析器會將筆劃的週框方塊加入至 InkAnalyzerBase 物件的 DirtyRegion 屬性。此外,如果分析器載入的筆劃結果位於現有分析提示的區域內,分析器同樣會將筆劃的週框方塊加入至 InkAnalyzerBase 物件的 DirtyRegion 屬性。如需分析提示的詳細資訊,請參閱 PropertyGuidsForAnalysisHintsBase。
InkAnalyzerBase 會在載入儲存的結果時引發 ContextNodeCreatedBase、ContextNodeLinkAddingBase 和 ContextNodePropertiesUpdatedBase 事件。
範例
下列範例會從 8 位元不帶正負號的整數陣列 savedResults 載入已儲存的分析結果。這個範例會將結果載入至 InkAnalyzerBase (theInkAnalyzerBase)。這個範例不會在筆墨分析器已包含筆劃資料時,顯示如何計算新的筆劃識別項。
' Load previously saved analysis results
Dim successful As Boolean = False
If 0 = theInkAnalyzerBase.RootNode.GetStrokeIds().Length Then
' If the analyzer does not already contain stroke data, do not
' remap the identifiers for the strokes.
successful = theInkAnalyzerBase.Load(savedResults, Nothing)
Else
' If the analyzer does already contain stroke data, remap the stroke
' identifiers for the saved stroke data. Then use that remapping
' to load the results.
End If
// Load previously saved analysis results
bool successful = false;
if (0 == theInkAnalyzerBase.RootNode.GetStrokeIds().Length)
{
// If the analyzer does not already contain stroke data, do not
// remap the identifiers for the strokes.
successful = theInkAnalyzerBase.Load(savedResults, null);
}
else
{
// If the analyzer does already contain stroke data, remap the stroke
// identifiers for the saved stroke data. Then use that remapping
// to load the results.
}
平台
Windows Vista, Windows XP SP2, Windows Server 2003
.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求。
版本資訊
.NET Framework
支援版本:3.0
請參閱
參考
System.Windows.Ink.AnalysisCore 命名空間