Partager via


Stroke.GetPacketValuesByProperty, méthode (Guid, Int32, Int32)

Mise à jour : November 2007

Retourne 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 GetPacketValuesByProperty ( _
    id As Guid, _
    index As Integer, _
    count As Integer _
) As Integer()
'Utilisation
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[]

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 à récupérer.
  • index
    Type : System.Int32
    Point de départ de l'index de base zéro d'un paquet dans l'objet Stroke.
  • count
    Type : System.Int32
    Nombre de points qui composent les données du trait.

Valeur de retour

Type : array<System.Int32[]
Retourne un tableau d'entiers 32 bits signés qui spécifie la valeur de l'objet PacketProperty demandé pour chaque point demandé de l'objet Stroke.

Notes

Il est possible qu'une propriété de paquet spécifique ne soit pas disponible sur un objet Stroke donné. Un Tablet PC peut comporter plusieurs tablettes d'entrée. La collection Tablets répertorie toutes les tablettes attachées au Tablet PC. Utilisez la méthode IsPacketPropertySupported pour déterminer si une propriété de paquet donnée est prise en charge par un objet Tablet donné ou par toutes les tablettes disponibles. De même, utilisez les propriétés InkCollector.DesiredPacketDescription, InkOverlay.DesiredPacketDescription ou InkPicture.DesiredPacketDescription pour contrôler les propriétés de paquet collectées sur les nouveaux traits.

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

GetPacketValuesByProperty, surcharge

Microsoft.Ink, espace de noms

InkCollector.DesiredPacketDescription

InkOverlay.DesiredPacketDescription

InkPicture.DesiredPacketDescription

PacketProperty

Tablet

Tablet.IsPacketPropertySupported

Tablets

Tablets.IsPacketPropertySupported