Metodo Stroke.SetPacketValuesByProperty (Guid, Int32, Int32, array<Int32[])
Aggiornamento: novembre 2007
Imposta i dati per una proprietà del pacchetto specificata per un intervallo di pacchetti nell'oggetto Stroke.
Spazio dei nomi: Microsoft.Ink
Assembly: Microsoft.Ink (in Microsoft.Ink.dll)
Sintassi
'Dichiarazione
Public Function SetPacketValuesByProperty ( _
id As Guid, _
index As Integer, _
count As Integer, _
packetValues As Integer() _
) As Integer
'Utilizzo
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
Parametri
- id
Tipo: System.Guid
Identificatore Guid tratto dall'oggetto PacketProperty utilizzato per selezionare quali dati del pacchetto vengono impostati. Utilizzare la proprietà PacketDescription per determinare le proprietà definite per questo oggetto Stroke.
- index
Tipo: System.Int32
Indice iniziale del pacchetto da modificare.
- count
Tipo: System.Int32
Numero di pacchetti nel tratto da modificare e numero di valori nell'oggetto packetValues. Un valore pari a -1 significa che tutti i pacchetti vengono modificati.
- packetValues
Tipo: array<System.Int32[]
Matrice dei valori dei dati del pacchetto. Il metodo ha esito negativo se uno qualsiasi dei valori della matrice supera il valore minimo o massimo della proprietà. Per determinare l'intervallo di valori nella proprietà, chiamare il metodo GetPacketDescriptionPropertyMetrics.
Valore restituito
Tipo: System.Int32
Restituisce il numero effettivo di pacchetti.
Note
Questo metodo genera un'eccezione se la matrice packetValues ha una lunghezza non corretta.
Esempi
In questo esempio, ogni oggetto Stroke selezionato di un oggetto InkOverlay viene modificato in modo che ogni punto della prima metà del tratto contenga il valore minimo consentito del pacchetto NormalPressure.
Tramite il metodo GetPacketValuesByProperty si ottengono i valori del pacchetto NormalPressure per la prima metà dell'oggetto Stroke. I valori vengono quindi impostati sul valore minimo 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)
' 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
}
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