Compartir a través de


Stroke.SetPacketValuesByProperty (Método) (Guid, Int32, Int32, array<Int32[])

Actualización: noviembre 2007

Establece 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 SetPacketValuesByProperty ( _
    id As Guid, _
    index As Integer, _
    count As Integer, _
    packetValues As Integer() _
) As Integer
'Uso
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

Parámetros

  • index
    Tipo: System.Int32
    Índice inicial del paquete que se va a modificar.
  • count
    Tipo: System.Int32
    El número de paquetes del trazo que se van a modificar y el número de valores en packetValues. Un valor de -1 significa que se van a modificar todos los paquetes.
  • packetValues
    Tipo: array<System.Int32[]
    Matriz de valores de los datos de paquete. Se produce un error en el método si alguno de los valores de la matriz supera los valores máximo y mínimo de la propiedad. Para determinar el intervalo de valores en la propiedad, llame al método GetPacketDescriptionPropertyMetrics.

Valor devuelto

Tipo: System.Int32
Devuelve el número real del conjunto de paquetes.

Comentarios

Este método produce una excepción si la matriz packetValues es la longitud incorrecta.

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)

SetPacketValuesByProperty (Sobrecarga)

Microsoft.Ink (Espacio de nombres)

PacketProperty

Stroke.GetPacketDescriptionPropertyMetrics