다음을 통해 공유


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

업데이트: 2007년 11월

단일 스트로크에 대한 스트로크 데이터를 잉크 분석기에 추가하고 특정 문화권 식별자를 스트로크에 할당합니다.

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

구문

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

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

매개 변수

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

반환 값

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

설명

InkAnalyzerBaseType 속성 값이 UnclassifiedInk()인 ContextNodeBase에 스트로크를 추가합니다.

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

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

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

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

예제

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

''' <summary>
''' Adds a stroke to an InkAnalyzerBase and assigns a specific
''' culture identifier to the stroke.
''' </summary>
''' <param name="baseInkAnalyzer">
''' The analyzer that receives the stroke.</param>
''' <param name="theStroke">The stroke to add.</param>
''' <param name="languageIdentifier">The culture identifier to assign to
''' the stroke.</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, _
ByVal languageIdentifier As Integer) _
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 and specify the
    ' stroke's language.
    Dim result As System.Windows.Ink.AnalysisCore.ContextNodeBase = _
        baseInkAnalyzer.AddStroke(theStroke.Id, _
            theStroke.GetPacketData(), theStroke.PacketDescription, _
            languageIdentifier)

    Return result
End Function 'AddStroke
/// <summary>
/// Adds a stroke to an InkAnalyzerBase and assigns a specific
/// culture identifier to the stroke.
/// </summary>
/// <param name="baseInkAnalyzer">
/// The analyzer that receives the stroke.</param>
/// <param name="theStroke">The stroke to add.</param>
/// <param name="languageIdentifier">The culture identifier to assign to
/// the stroke.</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,
    int languageIdentifier)
{
    if (null == baseInkAnalyzer)
    {
        throw new ArgumentNullException("baseInkAnalyzer");
    }

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

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

    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