2012-01-02 3 views
1

InkAnalyser를 사용하여 필기 인식을 위해 필기 한 일부 스캔 한 필체를 InkCanvas로 변환하려고합니다. 이미 필기 자료를 XAML에서 사용할 수 있습니다.프로그래밍 방식으로 경로 개체에서 InkCanvas 획 만들기

나는 물리적으로 .XAML 파일에 저장이 경로 (알파벳 t의 경계 모양)이 : 나는 경로의 XAML을 읽고 MS에게 MemoryStream을 객체에서 경로 객체로이 같은를로드

<Path xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Fill="#ff231f20" Data="F1 M 
7.931,2.750 L 7.931,12.267 L 0.000,12.267 L 0.000,19.351 L 7.931,19.351 L 7.931,47.268 C 
7.931,53.295 8.988,57.842 11.526,60.697 C 13.747,63.129 17.236,64.609 21.572,64.609 C 
25.167,64.609 28.022,63.975 29.820,63.340 L 29.396,56.256 C 28.022,56.679 26.542,56.890 
24.004,56.890 C 18.822,56.890 17.025,53.295 17.025,46.950 L 17.025,19.351 L 30.349,19.351 
L 30.349,12.267 L 17.025,12.267 L 17.025,0.000 L 7.931,2.750 Z"/> 

을 :

Path myPath = (System.Windows.Shapes.Path)XamlReader.Load(ms); 

내가 V.라는 InkCanvas 내가 프로그래밍 방식 MYPATH 개체에서 스트로크 데이터를 생성하고 InkCanvas에 항목을 추가 할 수 있습니다.

참고 : myPath를 UI 요소로 InkCanvas V의 하위에 추가하지 않으려합니다.

이 시도 : http://code.msdn.microsoft.com/windowsdesktop/A-Coordinate-supported-03e4f1b7은 좌표축을 InkCanvas에 그리는 방법을 설명하는 MSDN 기사입니다. 그는 축 부분을 DrawingContext 객체로 설명하고 있습니다.

하지만 그는이 DrawingContext 객체를 통해 실제로 드로잉을 실제 InkCanvas 객체로로드하는 방법을 설명하지 않습니다. 정확히 거기 도움이 필요해.

미리 감사드립니다.

+0

드로잉 컨텍스트는 컨트롤 렌더링과 관련이 있으며 InkCanvas의 기능 및 획과는 아무 관련이 없습니다. –

+0

제 질문에 그 부분을 설명했습니다. 나는 그것을 알고있다. –

답변

1

경로에서 모든 점을 얻으려면 좌표에서 StylusPoints을 만듭니다. StylusPoints에서 StylusPointCollection을 만들고 획을 만들기 위해 the respective Stroke constructor을 사용하면이 Stroke을 캔버스의 Strokes에 추가 할 수 있습니다.

+0

내 경로에 베 지어 요소가 포함되어 있습니다. 유일한 방법은 경계 내에 포함 된 모든 점의 집합을 열거하고 StylusPointCollection에 추가하는 것입니다. –

+0

@Pandey : 스트로크는 압력 값이있는 점으로 만 구성됩니다. 베 지어 요소가있는 경우 중간 점을 가진 점을 근사시킬 수 있습니다. –

관련 문제