다음을 통해 공유


InkAnalyzerBase.AddStroke 메서드 (Int32, array<Int32[], array<Guid[])

업데이트: 2007년 11월

단일 스트로크에 대한 스트로크 데이터를 잉크 분석기에 추가하고 활성 입력 스레드의 문화권 식별자를 스트로크에 할당합니다.

네임스페이스:  System.Windows.Ink.AnalysisCore
어셈블리:  IACore(IACore.dll)

구문

‘선언
Public Function AddStroke ( _
    strokeId As Integer, _
    strokePacketData As Integer(), _
    strokePacketDescription As Guid() _
) As ContextNodeBase
‘사용 방법
Dim instance As InkAnalyzerBase
Dim strokeId As Integer
Dim strokePacketData As Integer()
Dim strokePacketDescription As Guid()
Dim returnValue As ContextNodeBase

returnValue = instance.AddStroke(strokeId, _
    strokePacketData, strokePacketDescription)
public ContextNodeBase AddStroke(
    int strokeId,
    int[] strokePacketData,
    Guid[] strokePacketDescription
)
public:
ContextNodeBase^ AddStroke(
    int strokeId, 
    array<int>^ strokePacketData, 
    array<Guid>^ strokePacketDescription
)
public ContextNodeBase AddStroke(
    int strokeId,
    int[] strokePacketData,
    Guid[] strokePacketDescription
)
public function AddStroke(
    strokeId : int, 
    strokePacketData : int[], 
    strokePacketDescription : Guid[]
) : ContextNodeBase

매개 변수

  • strokeId
    형식: System.Int32
    스트로크 식별자입니다.
  • strokePacketData
    형식: array<System.Int32[]
    스트로크에 대한 패킷 데이터가 들어 있는 배열입니다.
  • strokePacketDescription
    형식: array<System.Guid[]
    패킷 속성 식별자가 들어 있는 배열입니다.

반환 값

형식: System.Windows.Ink.AnalysisCore.ContextNodeBase
잉크 분석기에서 스트로크를 추가한 컨텍스트 노드입니다.

설명

InkAnalyzerBaseType 속성 값이 UnclassifiedInkContextNodeBase에 스트로크를 추가합니다.

잉크 분석기는 활성 입력 스레드의 문화권 식별자를 스트로크에 할당하고 해당 스트로크를 잉크 식별자의 루트 노드 아래에서 같은 문화권 식별자가 있는 스트로크를 포함하는 분류되지 않은 첫 번째 잉크 노드에 추가합니다. 잉크 분석기는 같은 문화권 식별자를 갖는 노드를 찾지 못하는 경우 루트 노드 아래에 새 ContextNodeBase를 만들고 스트로크를 이 분류되지 않은 새 잉크 노드에 추가합니다.

strokePacketData에는 스트로크의 모든 점에 대한 패킷 데이터가 들어 있습니다. strokePacketDescription에는 스트로크의 각 점에 대해 포함된 패킷 데이터의 형식을 설명하는 GUID(Globally Unique Identifier)가 들어 있습니다. 사용 가능한 패킷 속성의 전체 목록은 PacketProperty 클래스를 참조하십시오.

이 메서드는 DirtyRegion을 영역의 현재 값과 추가된 스트로크의 경계 상자를 합친 영역으로 확장합니다.

InkAnalyzerBase에 같은 식별자를 갖는 스트로크가 포함되어 있으면 InkAnalyzerBase에서 예외가 throw됩니다.

예제

이 예제에서는 Stroke를 패킷 데이터로 변환하고 InkAnalyzerBase에 스트로크 데이터를 추가하는 메서드를 정의합니다. 이 메서드는 잉크 분석기에서 스트로크를 추가한 ContextNodeBase를 반환합니다.

''' <summary>
''' Adds a stroke to an InkAnalyzerBase.
''' </summary>
''' <param name="baseInkAnalyzer">
''' The analyzer that receives the stroke.</param>
''' <param name="theStroke">The stroke to add.</param>
''' <returns>The node to which the analyzer added the stroke.</returns>
''' <remarks>
''' This method converts stroke data to packet data for example only.
''' The InkAnalyzerBase is used when your application is handling packet
''' data. If your application uses stroke data from an Ink object, then
''' you would use InkAnalyzer.
''' </remarks>
Public Overloads Shared Function MyAddStroke( _
ByVal baseInkAnalyzer As System.Windows.Ink.AnalysisCore.InkAnalyzerBase, _
ByVal theStroke As Microsoft.Ink.Stroke) _
As System.Windows.Ink.AnalysisCore.ContextNodeBase
    If baseInkAnalyzer Is Nothing Then
        Throw New ArgumentNullException("baseInkAnalyzer")
    End If

    If theStroke Is Nothing Then
        Throw New ArgumentNullException("theStroke")
    End If

    ' Add a single stroke to the InkAnalyzerBase.
    Dim result As System.Windows.Ink.AnalysisCore.ContextNodeBase = _
        baseInkAnalyzer.AddStroke(theStroke.Id, _
            theStroke.GetPacketData(), theStroke.PacketDescription)

    Return result
End Function 'AddStroke
/// <summary>
/// Adds a stroke to an InkAnalyzerBase.
/// </summary>
/// <param name="baseInkAnalyzer">
/// The analyzer that receives the stroke.</param>
/// <param name="theStroke">The stroke to add.</param>
/// <returns>The node to which the analyzer added the stroke.</returns>
/// <remarks>
/// This method converts stroke data to packet data for example only.
/// The InkAnalyzerBase is used when your application is handling packet
/// data. If your application uses stroke data from an Ink object, then
/// you would use InkAnalyzer.
/// </remarks>
public static System.Windows.Ink.AnalysisCore.ContextNodeBase MyAddStroke(
System.Windows.Ink.AnalysisCore.InkAnalyzerBase baseInkAnalyzer,
Microsoft.Ink.Stroke theStroke)
{
    if (null == baseInkAnalyzer)
    {
        throw new ArgumentNullException("baseInkAnalyzer");
    }

    if (null == theStroke)
    {
        throw new ArgumentNullException("theStroke");
    }

    // Add a single stroke to the InkAnalyzerBase.
    System.Windows.Ink.AnalysisCore.ContextNodeBase result = baseInkAnalyzer.AddStroke(
        theStroke.Id, theStroke.GetPacketData(),
        theStroke.PacketDescription);

    return result;
}

플랫폼

Windows Vista, Windows XP SP2, Windows Server 2003

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

3.0에서 지원

참고 항목

참조

InkAnalyzerBase 클래스

InkAnalyzerBase 멤버

AddStroke 오버로드

System.Windows.Ink.AnalysisCore 네임스페이스

InkAnalyzerBase.AddStrokes

InkAnalyzerBase.RemoveStroke

InkAnalyzerBase.RemoveStrokes