Partager via


Stroke.SetPacketValuesByProperty, méthode (Guid, Int32, Int32, array<Int32[])

Mise à jour : November 2007

Définit les données pour une propriété de paquet spécifiée pour une plage de paquets dans l'objet Stroke.

Espace de noms :  Microsoft.Ink
Assembly :  Microsoft.Ink (dans Microsoft.Ink.dll)

Syntaxe

'Déclaration
Public Function SetPacketValuesByProperty ( _
    id As Guid, _
    index As Integer, _
    count As Integer, _
    packetValues As Integer() _
) As Integer
'Utilisation
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

Paramètres

  • id
    Type : System.Guid
    L'identificateur Guid (page pouvant être en anglais) de l'objet PacketProperty utilisé pour sélectionner les données de paquet à définir. Utilisez la propriété PacketDescription pour déterminer les propriétés définies pour cet objet Stroke.
  • index
    Type : System.Int32
    Index de début du paquet à modifier.
  • count
    Type : System.Int32
    Nombre de paquets dans le trait à modifier et nombre de valeurs dans packetValues. Une valeur de -1 signifie que tous les paquets sont modifiés.
  • packetValues
    Type : array<System.Int32[]
    Tableau des valeurs de données de paquet. La méthode échoue si l'une des valeurs du tableau dépasse la valeur minimale ou maximale de la propriété. Pour déterminer la plage de valeurs de la propriété, appelez la méthode GetPacketDescriptionPropertyMetrics.

Valeur de retour

Type : System.Int32
Retourne le nombre réel de paquets définis.

Notes

Cette méthode lève une exception si la longueur du tableau packetValues est incorrecte.

Exemples

Dans cet exemple, chaque objet Stroke sélectionné d'un objet InkOverlay est modifié afin que chaque point de la première moitié du trait contienne la valeur de paquet NormalPressure minimale autorisée.

Les valeurs de paquet NormalPressure pour la première moitié de l'objet Stroke sont obtenues à l'aide de la méthode GetPacketValuesByProperty. Les valeurs sont ensuite définies au minimum autorisé (tel qu'obtenu par la méthode GetPacketDescriptionPropertyMetrics) et sont réappliquées au trait à l'aide de la méthode 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
}

Plateformes

Windows Vista

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Informations de version

.NET Framework

Pris en charge dans : 3.0

Voir aussi

Référence

Stroke, classe

Membres Stroke

SetPacketValuesByProperty, surcharge

Microsoft.Ink, espace de noms

PacketProperty

Stroke.GetPacketDescriptionPropertyMetrics