Stroke.SetPacketValuesByProperty-Methode (Guid, Int32, Int32, array<Int32[])
Legt die Daten für eine angegebene Paketeigenschaft für einen Bereich von Paketen im Stroke-Objekt fest.
Namespace: Microsoft.Ink
Assembly: Microsoft.Ink (in Microsoft.Ink.dll)
Syntax
'Declaration
Public Function SetPacketValuesByProperty ( _
id As Guid, _
index As Integer, _
count As Integer, _
packetValues As Integer() _
) As Integer
'Usage
Dim instance As Stroke
Dim id As Guid
Dim index As Integer
Dim count As Integer
Dim packetValues As Integer()
Dim returnValue As Integer
returnValue = instance.SetPacketValuesByProperty(id, _
index, count, packetValues)
public int SetPacketValuesByProperty(
Guid id,
int index,
int count,
int[] packetValues
)
public:
int SetPacketValuesByProperty(
Guid id,
int index,
int count,
array<int>^ packetValues
)
public int SetPacketValuesByProperty(
Guid id,
int index,
int count,
int[] packetValues
)
public function SetPacketValuesByProperty(
id : Guid,
index : int,
count : int,
packetValues : int[]
) : int
Parameter
- id
Typ: System.Guid
Der Guid-Bezeichner des PacketProperty-Objekts, mit dem die festzulegenden Paketdaten ausgewählt werden. Verwenden Sie die PacketDescription-Eigenschaft, um die definierten Eigenschaften für dieses Stroke-Objekt zu bestimmen.
- index
Typ: System.Int32
Der Startindex des zu ändernden Pakets.
- count
Typ: System.Int32
Die Anzahl der Pakete in dem zu ändernden Strich und die Anzahl der Werte in packetValues. Der Wert -1 bedeutet, dass alle Pakete geändert werden.
- packetValues
Typ: array<System.Int32[]
Das Array von Paketdatenwerten. Die Methode schlägt fehl, wenn einer der Werte im Array den Mindest- oder Höchstwert der Eigenschaft überschreitet. Um den Wertebereich der Eigenschaft zu bestimmen, rufen Sie die GetPacketDescriptionPropertyMetrics-Methode auf.
Rückgabewert
Typ: System.Int32
Gibt die tatsächliche Anzahl der festgelegten Pakete zurück.
Hinweise
Diese Methode löst eine Ausnahme aus, wenn das packetValues-Array eine falsche Länge aufweist.
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