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
- id
Typ: System.Guid
Der Guid-Bezeichner des PacketProperty-Objekts, mit dem die abzurufenden Paketdaten ausgewählt werden.
- 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
GetPacketValuesByProperty-Überladung
InkCollector.DesiredPacketDescription
InkOverlay.DesiredPacketDescription
InkPicture.DesiredPacketDescription