Stroke.SetPacketValuesByProperty - метод (Guid, Int32, Int32, array<Int32[])
Обновлен: Ноябрь 2007
Sets the data for a specified packet property for a range of packets in the Stroke object.
Пространство имен: Microsoft.Ink
Сборка: Microsoft.Ink (в Microsoft.Ink.dll)
Синтаксис
'Декларация
Public Function SetPacketValuesByProperty ( _
id As Guid, _
index As Integer, _
count As Integer, _
packetValues As Integer() _
) As Integer
'Применение
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
Параметры
- id
Тип: System.Guid
The Guid identifier from the PacketProperty object that is used to select which packet data is set. Use the PacketDescription property to determine the defined properties for this Stroke object.
- index
Тип: System.Int32
The starting index of the packet to be modified.
- count
Тип: System.Int32
The number of packets in the stroke to modify and the number of values in packetValues. A value of -1 means that all packets are modified.
- packetValues
Тип: array<System.Int32[]
The array of packet data values. The method fails if any of the values in the array exceed the minimum or maximum value of the property. To determine the range of values in the property, call the GetPacketDescriptionPropertyMetrics method.
Возвращаемое значение
Тип: System.Int32
Returns the actual number of packets set.
Заметки
This method throws an exception if the packetValues array is the incorrect length.
Примеры
In this example, each selected Stroke object of an InkOverlay object is modified so that each point of the first half of the stroke contains the minimum allowed NormalPressure packet value.
Using the GetPacketValuesByProperty method, the NormalPressure packet values for the first half of the Stroke object are obtained. The values are then set to the minimum allowed (as obtained via the GetPacketDescriptionPropertyMetrics method), and reapplied to the stroke using the SetPacketValuesByProperty method.
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
}
Платформы
Windows Vista
Среды .NET Framework и .NET Compact Framework поддерживают не все версии каждой платформы. Поддерживаемые версии перечислены в разделе Требования к системе для .NET Framework.
Сведения о версии
.NET Framework
Поддерживается в версии: 3.0
См. также
Ссылки
SetPacketValuesByProperty - перегрузка