Freigeben über


Stroke.GetPacketValuesByProperty-Methode (Guid, Int32)

Gibt die Daten für die angegebene Paketeigenschaft für ein Paket 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 _
) As Integer()
'Usage
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[]

Parameter

  • index
    Typ: System.Int32
    Der Ausgangspunkt des nullbasierten Index für ein Paket innerhalb des Stroke-Objekts.

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 zweiten Hälfte des Strichs den maximal zulässigen NormalPressure-Paketwert enthält.

Mithilfe der GetPacketValuesByProperty-Methode werden die NormalPressure-Paketwerte für die zweite Hälfte des Stroke-Objekts abgerufen. Anschließend werden die Werte auf den zulässigen Höchstwert 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)
        ' 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
}

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