次の方法で共有


Stroke.GetPacketDescriptionPropertyMetrics メソッド

特定のパケットの説明の種類のメトリックスを返します。

名前空間 :  Microsoft.Ink
アセンブリ :  Microsoft.Ink (Microsoft.Ink.dll 内)

構文

'宣言
Public Function GetPacketDescriptionPropertyMetrics ( _
    id As Guid _
) As TabletPropertyMetrics
'使用
Dim instance As Stroke
Dim id As Guid
Dim returnValue As TabletPropertyMetrics

returnValue = instance.GetPacketDescriptionPropertyMetrics(id)
public TabletPropertyMetrics GetPacketDescriptionPropertyMetrics(
    Guid id
)
public:
TabletPropertyMetrics GetPacketDescriptionPropertyMetrics(
    Guid id
)
public TabletPropertyMetrics GetPacketDescriptionPropertyMetrics(
    Guid id
)
public function GetPacketDescriptionPropertyMetrics(
    id : Guid
) : TabletPropertyMetrics

パラメータ

戻り値

型 : Microsoft.Ink.TabletPropertyMetrics
特定のパケットの説明の種類のメトリックスを返します。

この例では、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

参照

参照

Stroke クラス

Stroke メンバ

Microsoft.Ink 名前空間

Stroke.GetPacketValuesByProperty

Stroke.SetPacketValuesByProperty

Tablet.GetPropertyMetrics