Condividi tramite


Metodo Stroke.GetPacketValuesByProperty (Guid, Int32)

Aggiornamento: novembre 2007

Restituisce i dati per una proprietà del pacchetto specificata per un pacchetto nell'oggetto Stroke.

Spazio dei nomi:  Microsoft.Ink
Assembly:  Microsoft.Ink (in Microsoft.Ink.dll)

Sintassi

'Dichiarazione
Public Function GetPacketValuesByProperty ( _
    id As Guid, _
    index As Integer _
) As Integer()
'Utilizzo
Dim instance As Stroke
Dim id As Guid
Dim index As Integer
Dim returnValue As Integer()

returnValue = instance.GetPacketValuesByProperty(id, _
    index)
public int[] GetPacketValuesByProperty(
    Guid id,
    int index
)
public:
array<int>^ GetPacketValuesByProperty(
    Guid id, 
    int index
)
public int[] GetPacketValuesByProperty(
    Guid id,
    int index
)
public function GetPacketValuesByProperty(
    id : Guid, 
    index : int
) : int[]

Parametri

  • id
    Tipo: System.Guid
    Identificatore Guid tratto dall'oggetto PacketProperty utilizzato per selezionare quali dati del pacchetto vengono recuperati.
  • index
    Tipo: System.Int32
    Punto iniziale dell'indice in base zero di un pacchetto all'interno dell'oggetto Stroke.

Valore restituito

Tipo: array<System.Int32[]
Restituisce una matrice di valori integer con segno a 32 bit che specifica il valore dell'oggetto PacketProperty richiesto per ogni punto richiesto dall'oggetto Stroke.

Note

In un oggetto Stroke particolare, potrebbe non essere disponibile una proprietà del pacchetto specifica. Un Tablet PC può disporre di più di una tavoletta per l'input dell'utente. L'insieme Tablets contiene un elenco di tutte le tavolette associate al Tablet PC. Utilizzare il metodo IsPacketPropertySupported per determinare se una particolare proprietà del pacchetto è supportata da un oggetto Tablet specifico o da tutte le tavolette disponibili. Inoltre, utilizzare le proprietà InkCollector.DesiredPacketDescription, InkOverlay.DesiredPacketDescription o InkPicture.DesiredPacketDescription per controllare quali proprietà del pacchetto vengono raccolte nei nuovi tratti.

Esempi

In questo esempio, ogni oggetto Stroke selezionato di un oggetto InkOverlay viene modificato in modo che ogni punto della seconda metà del tratto contenga il valore massimo consentito del pacchetto NormalPressure.

Tramite il metodo GetPacketValuesByProperty si ottengono i valori del pacchetto NormalPressure per la seconda metà dell'oggetto Stroke. I valori vengono quindi impostati sul valore massimo consentito (ottenuto tramite il metodo GetPacketDescriptionPropertyMetrics) e riapplicati al tratto tramite il metodo SetPacketValuesByProperty.

Try
    For Each S As Stroke In mInkOverlay.Selection
        ' get the PacketProperty.NormalPressure metrics for the stroke
        Dim metrics As TabletPropertyMetrics = S.GetPacketDescriptionPropertyMetrics(PacketProperty.NormalPressure)
        ' get the starting point
        Dim startPt As Integer = S.PacketCount / 2
        ' get the NormalPressure values starting at startPt
        Dim npValues() As Integer = S.GetPacketValuesByProperty(PacketProperty.NormalPressure, startPt)
        ' set the NormalPressure values to max
        For k As Integer = 0 To npValues.Length - 1
            npValues(k) = metrics.Maximum
        Next
        ' set the NormalPressure values starting at startPt
        S.SetPacketValuesByProperty(PacketProperty.NormalPressure, startPt, npValues)
    Next

Catch ex As ArgumentException
    ' This exception will be raised if PacketProperty.NormalPressure is not supported
    ' This will be the case if creating strokes with a mouse
End Try
try
{
    foreach (Stroke S in mInkOverlay.Selection)
    {
        // get the PacketProperty.NormalPressure metrics for the stroke
        TabletPropertyMetrics metrics = S.GetPacketDescriptionPropertyMetrics(PacketProperty.NormalPressure);
        // get the starting point
        int startPt = S.PacketCount / 2;
        // get the NormalPressure values starting at startPt
        int[] npValues = S.GetPacketValuesByProperty(PacketProperty.NormalPressure, startPt);
        // set the NormalPressure values to max
        for (int k = 0; k < npValues.Length; k++)
        {
            npValues[k] = metrics.Maximum;
        }
        // set the NormalPressure values starting at startPt
        S.SetPacketValuesByProperty(PacketProperty.NormalPressure, startPt, npValues);
    }
}
catch (ArgumentException)
{
    // This exception will be raised if PacketProperty.NormalPressure is not supported
    // This will be the case if creating strokes with a mouse
}

Piattaforme

Windows Vista

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Informazioni sulla versione

.NET Framework

Supportato in: 3.0

Vedere anche

Riferimenti

Stroke Classe

Membri Stroke

Overload GetPacketValuesByProperty

Spazio dei nomi Microsoft.Ink

InkCollector.DesiredPacketDescription

InkOverlay.DesiredPacketDescription

InkPicture.DesiredPacketDescription

PacketProperty

Tablet

Tablet.IsPacketPropertySupported

Tablets

Tablets.IsPacketPropertySupported