Surface SDK 는 기본적으로 태그 인식 기능이 내장되어 있어 이를 인식할 수 있습니다.
제공되는 태그는 Byte Tag와 Identity Tag 2가지 종류가 있습니다.
Byte Tag는 1byte의 data 값으로 256가지의 종류가 있고 Identity Tag는 16byte의 data값으로 종류가 제한되어 있지 않습니다.
또한 제공되는 태그 외에 사용자가 직접 만들어 낼 수 도 있습니다.
태그에 대한 자세한 내용은 다음 주소를 참고 하시면 됩니다.
ms-help://MS.VSCC.v90/MS.VSIPCC.v90/Microsoft.Surface/Microsoft.Surface.SDK/Development/TaggedObjects/
TaggedObjects.htm
TagVisualization 의 아키텍쳐와 인식 절차는 그림과 같습니다.
[ Architecture ]
[ Process ]
그럼 Tag를 인식하는 간단한 예제를 작성해 보겠습니다.
- Surface 프로젝트를 생성한 후 새 항목을 추가합니다.
- 다음과 같이 TagVisualization을 추가합니다.
- Surface Window XAML에 다음과 같은 코드를 작성합니다.
보시면 Grid 안에 TagVisualizer를 추가한 후 Definitions에 ByteTag를 인식할 수 있도록 추가하였습니다.
Value는 태그의 번호이며 TagRemovedBehavior는 태그의 인식이 사라질 때 어떤 식으로 사라지게 할 것인지에 대한 플래그 값입니다.
Fade는 Opacity값이 서서히 줄면서 사라지는 애니메이션입니다.
LostTagTimeout은 해당 태그와 연결된 Source가 사라지는 시간이고 Source는 태그가 인식 되었을 때 나타날 TagVisualization 입니다.
위에 추가한 TagVisualization 은 ScatterView를 Content로 검은색의 Ellipse를 바탕으로 가지고 있으며 이미지들을 자식들로
추가하는 코드가 작성되어 있습니다.
태그가 인식이 되어지면 Source로 연결된 객체가 새로 생성이 됩니다.
이 때 윈도우에서는 아키텍쳐와 같은 이벤트들이 발생하게 됩니다.
[ 결과 화면 ]
검은색 원 부분이 ImageTagVisualization 영역입니다.
테스트 해보시면 알겠지만 ImageTagVisualization에 추가된 이미지들은 해당 영역에서만 움직일 수 있고 윈도우 영역으로는
이동이 되어지지 않는데요. 서로 다른 영역이기 때문에 당연한 결과겠죠.
다음 포스팅에서는 DragandDrop 기능을 사용하여 윈도우 영역으로 이미지를 이동하는 방법에 대해 포스팅하겠습니다.
TagVisualization에 대한 자세한 내용은 다음 주소를 참고하세요.
ms-help://MS.VSCC.v90/MS.VSIPCC.v90/Microsoft.Surface/Microsoft.Surface.SDK/ProgrammersGuide/TagVisualization/
TagVisualization.htm
'Window > Surface' 카테고리의 다른 글
[ Surface 2.0 ] SurfaceScrollViewer Transform Behavior (1) | 2012.09.18 |
---|---|
[ WPF ] Surface LibraryStack & LibraryBar - Drag and Drop (0) | 2010.07.10 |
[ WPF ] Surface LibraryStack & LibraryBar (0) | 2010.07.04 |
[ WPF ] Surface ScatterView (0) | 2010.07.03 |
[ WPF ] Surface SDK 예제 (0) | 2010.07.03 |