Stroke オブジェクト内の 1 つのパケットの指定されたパケット プロパティのデータを返します。
名前空間 : Microsoft.Ink
アセンブリ : Microsoft.Ink (Microsoft.Ink.dll 内)
構文
'宣言
Public Function GetPacketValuesByProperty ( _
id As Guid, _
index As Integer _
) As Integer()
'使用
Dim instance As Stroke
Dim id As Guid
Dim index As Integer
Dim returnValue As Integer()
returnValue = instance.GetPacketValuesByProperty(id, _
index)
public int[] GetPacketValuesByProperty(
Guid id,
int index
)
public:
array<int>^ GetPacketValuesByProperty(
Guid id,
int index
)
public int[] GetPacketValuesByProperty(
Guid id,
int index
)
public function GetPacketValuesByProperty(
id : Guid,
index : int
) : int[]
パラメータ
- id
型 : System.Guid
取得するパケット データの選択に使用される PacketProperty オブジェクトの Guid 識別子。
- index
型 : System.Int32
Stroke オブジェクト内のパケットに対する、0 から始まるインデックスの開始点。
戻り値
型 : array<System.Int32[]
Stroke オブジェクト内から要求された各ポイントの、要求された PacketProperty オブジェクトの値を指定する 32 ビット符号付き整数配列を返します。
解説
特定のパケット プロパティは、特定の Stroke オブジェクトでは使用できない場合があります。Tablet PC には、ユーザー入力用のタブレットが複数存在する場合があります。Tablets コレクションには、Tablet PC に取り付けられているすべてのタブレットの一覧が含まれています。特定のパケット プロパティが特定の Tablet オブジェクトまたは使用可能なすべてのタブレットによりサポートされているかどうかを確認するには、IsPacketPropertySupported メソッドを使用します。さらに、新しいストロークで収集するパケット プロパティを制御するには、InkCollector.DesiredPacketDescription、InkOverlay.DesiredPacketDescription または InkPicture.DesiredPacketDescription プロパティを使用します。
例
この例では、InkOverlay オブジェクトで選択された各 Stroke オブジェクトは、ストロークの後半部分の各ポイントが許可される最大の NormalPressure パケット値を含むように変更されます。
GetPacketValuesByProperty メソッドを使用して、Stroke オブジェクトの後半部分の NormalPressure パケット値が取得されます。次に、この値は (GetPacketDescriptionPropertyMetrics メソッドによって取得された) 許可される最大値に設定され、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
}
プラットフォーム
Windows Vista
.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 3.0
参照
参照
GetPacketValuesByProperty オーバーロード
InkCollector.DesiredPacketDescription
InkOverlay.DesiredPacketDescription
InkPicture.DesiredPacketDescription