Freigeben über


Stroke.GetPacketValuesByProperty-Methode (Guid, Int32, Int32)

Gibt die Daten für eine angegebene Paketeigenschaft für einen Bereich von Paketen im Stroke-Objekt zurück.

Namespace:  Microsoft.Ink
Assembly:  Microsoft.Ink (in Microsoft.Ink.dll)

Syntax

'Declaration
Public Function GetPacketValuesByProperty ( _
    id As Guid, _
    index As Integer, _
    count As Integer _
) As Integer()
'Usage
Dim instance As Stroke
Dim id As Guid
Dim index As Integer
Dim count As Integer
Dim returnValue As Integer()

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

Parameter

  • index
    Typ: System.Int32
    Der Ausgangspunkt des nullbasierten Index für ein Paket innerhalb des Stroke-Objekts.
  • count
    Typ: System.Int32
    Die Anzahl von Punkten, die die Strichdaten bilden.

Rückgabewert

Typ: array<System.Int32[]
Gibt ein Array von 32-Bit-Ganzzahlen mit Vorzeichen zurück, das den Wert des angeforderten PacketProperty-Objekts für jeden vom Stroke-Objekt angeforderten Punkt angibt.

Hinweise

Eine bestimmte Paketeigenschaft ist in einem bestimmten Stroke-Objekt möglicherweise nicht verfügbar. Ein Tablet PC kann mehrere Tabletts für die Benutzereingabe aufweisen. Die Tablets-Auflistung enthält eine Liste mit allen an den Tablet PC angeschlossenen Tabletts. Verwenden Sie die IsPacketPropertySupported-Methode, um zu bestimmen, ob eine bestimmte Paketeigenschaft von einem spezifischen Tablet-Objekt oder von allen verfügbaren Tabletts unterstützt wird. Verwenden Sie außerdem die Eigenschaften InkCollector.DesiredPacketDescription, InkOverlay.DesiredPacketDescription oder InkPicture.DesiredPacketDescription, um zu steuern, welche Paketeigenschaften in neuen Strichen gesammelt werden.

Beispiele

In diesem Beispiel wird jedes Stroke-Objekt eines InkOverlay-Objekts so geändert, dass jeder Punkt der ersten Hälfte des Strichs den minimal zulässigen NormalPressure-Paketwert enthält.

Mithilfe der GetPacketValuesByProperty-Methode werden die NormalPressure-Paketwerte für die erste Hälfte des Stroke-Objekts abgerufen. Anschließend werden die Werte auf den zulässigen Mindestwert festgelegt (der über die GetPacketDescriptionPropertyMetrics-Methode abgerufen wurde) und mit der SetPacketValuesByProperty-Methode erneut auf den Strich angewendet.

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)
        ' we want to get half of the NormalPressure values
        Dim halfWayPt As Integer = S.PacketCount / 2
        ' get the NormalPressure values for the first half of the packets
        Dim npValues() As Integer = S.GetPacketValuesByProperty(PacketProperty.NormalPressure, 0, halfWayPt)
        ' set the NormalPressure values to min
        For k As Integer = 0 To npValues.Length - 1
            npValues(k) = metrics.Minimum
        Next
        ' set the NormalPressure values for the first half of the packets
        S.SetPacketValuesByProperty(PacketProperty.NormalPressure, 0, halfWayPt, 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);
        // we want to get half of the NormalPressure values
        int halfWayPt = S.PacketCount / 2;
        // get the NormalPressure values for the first half of the packets
        int[] npValues = S.GetPacketValuesByProperty(PacketProperty.NormalPressure, 0, halfWayPt);
        // set the NormalPressure values to min
        for (int k = 0; k < npValues.Length; k++)
        {
            npValues[k] = metrics.Minimum;
        }
        // set the NormalPressure values for the first half of the packets
        S.SetPacketValuesByProperty(PacketProperty.NormalPressure, 0, halfWayPt, 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
}

Plattformen

Windows Vista

.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

Stroke-Klasse

Stroke-Member

GetPacketValuesByProperty-Überladung

Microsoft.Ink-Namespace

InkCollector.DesiredPacketDescription

InkOverlay.DesiredPacketDescription

InkPicture.DesiredPacketDescription

PacketProperty

Tablet

Tablet.IsPacketPropertySupported

Tablets

Tablets.IsPacketPropertySupported