Freigeben über


InkAnalyzerBase.Load-Methode

Lädt gespeicherte Analyseergebnisse in das Freihandanalysemodul.

Namespace:  System.Windows.Ink.AnalysisCore
Assembly:  IACore (in IACore.dll)

Syntax

'Declaration
Public Function Load ( _
    serializedResults As Byte(), _
    originalToNewStrokeIdMap As Hashtable _
) As Boolean
'Usage
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

Parameter

  • serializedResults
    Typ: array<System.Byte[]
    Ein Array aus 8-Bit-Ganzzahlen ohne Vorzeichen, das die gespeicherten Analyseergebnisse enthält.
  • originalToNewStrokeIdMap
    Typ: System.Collections.Hashtable
    Eine Zuordnung alter Strichbezeichner zu neuen Strichbezeichnern oder nullNULL-Verweis (Nothing in Visual Basic), um die ursprünglichen Strichbezeichner beizubehalten.

Rückgabewert

Typ: System.Boolean
true , wenn das Freihandanalysemodul die Analyseergebnisse geladen hat, andernfalls false.

Hinweise

Wenn das Freihandanalysemodul einen ContextNodeBase aus den gespeicherten Ergebnissen hinzufügt, weist er der Id-Eigenschaft des ContextNodeBase-Objekts eine neue GUID (Globally Unique Identifier) zu.

Diese Methode fügt die gespeicherten Analyseergebnisse der vorhandenen ContextNodeBase-Struktur hinzu. Fügen Sie den Bereich, der die geladenen Kontextknoten enthält, dem DirtyRegion des Freihandanalysemoduls hinzu, um sicherzustellen, dass die kombinierten Ergebnisse korrekt sortiert werden.

Die SaveResults-Methode speichert die Paketdaten nicht zusammen mit den Analyseergebnissen.

Jeder Schlüssel in originalToNewStrokeIdMap stellt den Strichbezeichner für den Strich in den gespeicherten Analyseergebnissen dar. Jeder Wert in originalToNewStrokeIdMap stellt den neuen Bezeichner dar, mit dem der ursprüngliche Bezeichner in den geladenen Analyseergebnissen ersetzt werden soll.

Wenn der gespeicherte Analysehinweis in Konflikt mit einem vorhandenen Analysehinweis steht, wird der gespeicherte Hinweis vom Freihandanalysemodul nicht geladen. Stattdessen wird der Rest der gespeicherten Ergebnisse geladen. Wenn das Analysemodul jedoch Ergebnisse für einen Strich lädt, der sich im Bereich eines gespeicherten Analysehinweises befindet, den das Analysemodul nicht lädt, fügt das Analysemodul das umgebende Feld des Strichs der DirtyRegion-Eigenschaft des InkAnalyzerBase-Objekts hinzu. Wenn das Analysemodul Ergebnisse für einen Strich lädt, der sich im Bereich eines vorhandenen Analysehinweises befindet, fügt das Analysemodul ebenfalls das umgebende Feld des Strichs der DirtyRegion-Eigenschaft des InkAnalyzerBase-Objekts hinzu. Weitere Informationen zu Analysehinweisen finden Sie unter PropertyGuidsForAnalysisHintsBase.

InkAnalyzerBase löst beim Laden der gespeicherten Ergebnisse die Ereignisse ContextNodeCreatedBase, ContextNodeLinkAddingBase und ContextNodePropertiesUpdatedBase aus.

Beispiele

Im folgenden Beispiel werden gespeicherte Analyseergebnisse aus dem Array aus 8-Bit-Ganzzahlen ohne Vorzeichen, savedResults, geladen. Das Beispiel lädt die Ergebnisse in InkAnalyzerBase mit dem Namen theInkAnalyzerBase. In diesem Beispiel wird jedoch nicht gezeigt, wie neue Strichbezeichner berechnet werden, wenn das Freihandanalysemodul bereits Strichdaten enthält.

' 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.
}

Plattformen

Windows Vista, Windows XP SP2, Windows Server 2003

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Versionsinformationen

.NET Framework

Unterstützt in: 3.0

Siehe auch

Referenz

InkAnalyzerBase-Klasse

InkAnalyzerBase-Member

System.Windows.Ink.AnalysisCore-Namespace

System.Windows.Ink.AnalysisCore.ContextNodeBase

InkAnalyzerBase.DirtyRegion

InkAnalyzerBase.SaveResults