Compartir a través de


Stroke.GetPacketValuesByProperty (Método) (Guid, Int32, Int32)

Actualización: noviembre 2007

Devuelve los datos para una propiedad de paquete especificada para un intervalo de paquetes en el objeto Stroke.

Espacio de nombres:  Microsoft.Ink
Ensamblado:  Microsoft.Ink (en Microsoft.Ink.dll)

Sintaxis

'Declaración
Public Function GetPacketValuesByProperty ( _
    id As Guid, _
    index As Integer, _
    count As Integer _
) As Integer()
'Uso
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[]

Parámetros

  • index
    Tipo: System.Int32
    El punto inicial del índice de base cero hasta un paquete dentro del objeto Stroke.
  • count
    Tipo: System.Int32
    Número de puntos que constituyen los datos del trazo.

Valor devuelto

Tipo: array<System.Int32[]
Devuelve una matriz de enteros de 32 bits firmados que especifica el valor del objeto PacketProperty solicitado para cada punto solicitado desde el objeto Stroke.

Comentarios

Puede ser que una propiedad de paquete concreta no esté disponible en un objeto Stroke determinado. Un Tablet PC puede tener más de una tableta para la entrada de datos del usuario. La colección Tablets contiene una lista de todas las tabletas asociada a Tablet PC. Use el método IsPacketPropertySupported para determinar si una propiedad de paquete concreta es compatible con un objeto Tablet específico o con todas las tabletas disponibles. Use, asimismo, las propiedades InkCollector.DesiredPacketDescription, InkOverlay.DesiredPacketDescription o InkPicture.DesiredPacketDescription para controlar qué propiedades de paquete se van a recopilar en los nuevos trazos.

Ejemplos

En este ejemplo, cada objeto Stroke seleccionado de un objeto InkOverlay se modifica de forma que cada punto de la primera mitad del trazo contiene el valor de paquete NormalPressure mínimo permitido.

Con el método GetPacketValuesByProperty, se obtienen los valores del paquete NormalPressure para la primera mitad del objeto Stroke. Los valores se establecen, a continuación, en el mínimo permitido (que se obtiene a través del método GetPacketDescriptionPropertyMetrics) y se aplican de nuevo al trazo mediante el método 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
}

Plataformas

Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Información de versión

.NET Framework

Compatible con: 3.0

Vea también

Referencia

Stroke (Clase)

Stroke (Miembros)

GetPacketValuesByProperty (Sobrecarga)

Microsoft.Ink (Espacio de nombres)

InkCollector.DesiredPacketDescription

InkOverlay.DesiredPacketDescription

InkPicture.DesiredPacketDescription

PacketProperty

Tablet

Tablet.IsPacketPropertySupported

Tablets

Tablets.IsPacketPropertySupported