Compartir a través de


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

Actualización: noviembre 2007

Establece los datos para una propiedad de paquete especificada para un paquete 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, _
    packetValues As Integer() _
) As Integer
'Uso
Dim instance As Stroke
Dim id As Guid
Dim index As Integer
Dim packetValues As Integer()
Dim returnValue As Integer

returnValue = instance.SetPacketValuesByProperty(id, _
    index, packetValues)
public int SetPacketValuesByProperty(
    Guid id,
    int index,
    int[] packetValues
)
public:
int SetPacketValuesByProperty(
    Guid id, 
    int index, 
    array<int>^ packetValues
)
public int SetPacketValuesByProperty(
    Guid id,
    int index,
    int[] packetValues
)
public function SetPacketValuesByProperty(
    id : Guid, 
    index : int, 
    packetValues : int[]
) : int

Parámetros

  • index
    Tipo: System.Int32
    Índice inicial del paquete que se va a modificar.
  • 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 segunda mitad del trazo contiene el valor de paquete NormalPressure máximo permitido.

Con el método GetPacketValuesByProperty, se obtienen los valores del paquete NormalPressure para la segunda mitad del objeto Stroke. Los valores se establecen, a continuación, en el máximo 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)
        ' get the starting point
        Dim startPt As Integer = S.PacketCount / 2
        ' get the NormalPressure values starting at startPt
        Dim npValues() As Integer = S.GetPacketValuesByProperty(PacketProperty.NormalPressure, startPt)
        ' set the NormalPressure values to max
        For k As Integer = 0 To npValues.Length - 1
            npValues(k) = metrics.Maximum
        Next
        ' set the NormalPressure values starting at startPt
        S.SetPacketValuesByProperty(PacketProperty.NormalPressure, startPt, 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);
        // get the starting point
        int startPt = S.PacketCount / 2;
        // get the NormalPressure values starting at startPt
        int[] npValues = S.GetPacketValuesByProperty(PacketProperty.NormalPressure, startPt);
        // set the NormalPressure values to max
        for (int k = 0; k < npValues.Length; k++)
        {
            npValues[k] = metrics.Maximum;
        }
        // set the NormalPressure values starting at startPt
        S.SetPacketValuesByProperty(PacketProperty.NormalPressure, startPt, 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