Local Connection과 InkPresenter 학기, 소프트웨어 설계 및 실험(Ⅰ)

Slides:



Advertisements
Similar presentations
스마트폰 화면에서 안드로이드 마켓을 클릭하여 접속합니다. [그림 1-1] 안드로이드 전용 어플리케이션 설치 방법 1. 굿바이 학교폭력 Mobile App 설치 안드로이드폰 설치 방법 마켓에서 검색 아이콘을 클릭 하여 검색창을 활성화 합니다. 굿바이 학교폭력 어플명을 입력.
Advertisements

2008 년 11 월 20 일 실습.  실험제목 ◦ 데이터베이스 커넥션 풀  목표 ◦ 데이터베이스 커넥션 풀의 사용.
Windows Function Windows XP Windows 7 Windows 8 FREE 조장 : 김동환 조원 : 전태우
Windows XP SP2 문제해결 Windows XP SP2를 설치한 회원께서는 Pop-up차단 기능과 ActiveX 설치의 어려움 발생 아래의 예는 안철수 바이러스 설치 시 문제점을 해결 하는 방법의 설명. 1. ActiveX 컨트롤 설치 ① 주소 표시줄 아래의 '이.
목차 Contents 무선인터넷용 비밀번호 설정방법 Windows 7 Windows 8 Windows XP MAC OS.
기초C언어 제1주 실습 강의 소개, C언어 개요, Cygwin/Eclipse 사용 컴퓨터시뮬레이션학과 2016년 봄학기
OpenCV 안드로이드 연동 환경설정 OpenCV-Android 를 다운 받습니다.
순차, 조건, 반복 이점숙 농대 뒷편 언덕을 넘어가며 같은 문제 다르게 해결 순차, 조건, 반복 이점숙
순차, 조건, 반복 이점숙 같은 문제 다르게 해결하기 순차, 조건, 반복 이점숙
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
<<< 시스템등록정보 “하드웨어-장치관리자” 설정 >>>
1. 신뢰할 수 있는 싸이트 등록 인터넷 익스플로러 실행 후 실행
Power Java 제3장 이클립스 사용하기.
.Net Web Application 2010 컴퓨터공학실험(Ⅰ)
5강. Servlet 본격적으로 살펴보기-I 프로젝트 만들기 doGet() doPost()
윤 홍 란 다이알로그(대화상자) 윤 홍 란
나민영 서경대학교 컴퓨터공학과 CGVR Lab 같이만들어보자 5주차 OpenCV 설정 및 기초.
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
마우스(Mouse) 다루기 컴퓨터응용 및 실습 I.
Visual Basic .NET 처음 사용하기.
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
1. C++ 시작하기.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
NJM Messenger 박상원 박연호.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
WinCE Device Driver 실습 #2
Power Java 제14장 배치 관리자.
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
CHAP 12. 리소스와 보안.
Method & library.
자바응용.
Chapter03 캔버스(1) HTML5 Programming.
CHAP 13. 방명록 만들기 실습.
2015학년도 PHP 기말 레포트 로그인 홈페이지 제작.
2018년 11월 05일 박성진 Web & Internet [08] 레이아웃 P1 2018년 11월 05일 박성진
WZC 무선 연결 방법 (Windows XP Ver.).
Lab 1 Guide: 교재 2장 DrawX ( 쪽)
2 보안 1 도구 윈도우 XP > 온밀크 프로그램 설치 장애 (보안 설정) / 품목추가 깨질 때 장애증상
USN(Ubiquitous Sensor Network)
Nessus 4 설치 정보보호응용 조용준.
윈도우 컨트롤.
3D 프린팅 프로그래밍 01 – 기본 명령어 강사: 김영준 목원대학교 겸임교수.
PC에 설치된 엔드포인트 클라이언트 프로그램을 클릭하여 프로그램 상자를 엽니다
인터넷응용프로그래밍 JavaScript(Intro).
[그림 1-1] 안드로이드 전용 어플리케이션 설치 방법
7주차 실습 FPGA 보드 사용법.
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
CHAP 21. 전화, SMS, 주소록.
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
Cold Spring Harbor Laboratory Press 저널 이용 매뉴얼
12강. 컨트롤러 컨트롤러 클래스 제작 요청 처리 메소드 제작 뷰에 데이터 전달
OpenCV 설정 2.21 만든이 딩딩.
단축키 기능 1. 단축키 기능 설명 Alt + R 조회 S 저장 I 삽입 A 추가 D 삭제 P 출력 Q 닫기
영상처리 실습 (OpenCV + MFC) Chonbuk National University A.I. Lab.
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
JSP Programming with a Workbook
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
9 브라우저 객체 모델.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
웹에서의 상태 - 변수 발표자 : 지왕태.
접근제어 솔루션 계정등록 및 클라이언트 설치.
Installation Guide.
Power Java 제14장 배치 관리자.
CHAP 15. 데이터 스토리지.
20 XMLHttpRequest.
Presentation transcript:

Local Connection과 InkPresenter 2010. 1학기, 소프트웨어 설계 및 실험(Ⅰ) 14주 실습강의 Local Connection과 InkPresenter 2010. 1학기, 소프트웨어 설계 및 실험(Ⅰ)

로컬 커넥션(Local Connection) 실버라이트3에 새롭게 추가 네트워크 통신을 위한 것이 아니라 지역간의 통신에 사용 같은 컴퓨터상에서 동작하는 여러 개의 실버라이트 애플리케이션 간의 통신 지원

로컬 커넥션의 사용 구조 브라우저 간의 Local Connection은 서로 다른 브라우저에서 실행되고 있는 실버라이트 애플리케이션에서 사용 하나의 브라우저 안에서 실행되는 실버라이트 애플리케이션의 통신에서도 사용 가능

Message Sender 실버라이트가 제공하는 클래스 LocalMessageSender 클래스 다른 실버라이트 애플리케이션으로 메시지를 보내고자 할 때 사용 Method, Property & Event of LocalMessageSender ReceiverDomain : 메시지를 수신할 Receiver가 속한 Domain ReceiverName : 메시지를 수신할 Receiver의 고유 이름 SendAsync() : 메시지를 Receiver에 전달할 경우 사용 SendCompleted : 메시지가 상대방에게 전달된 경우 발생하는 이벤트

Message Receiver 실버라이트 제공하는 클래스 LocalMessageReceiver 클래스 LocalMessageSender로부터 메시지를 수신하기 위해 사용 Method, Property & Event of LocalMessageReceiver NameScope : 같은 도메인의 실버라이트 애플리케이션으로부터 메시지를 받을 것인지 다른 도메인의 실버라이트 애플리케이션으로부터 받을 것인지를 표현 ReceiverName : LocalMessageReceiver의 이름 Listen() : 메시지 수신을 시작하기 위해 사용 MessageReceived : 메시지를 수신하면 발생하는 이벤트

예제 – 간단한 Sender-Receiver 실버라이트 애플리케이션 프로젝트를 만든다. 솔루션에 실버라이트 애플리케이션 프로젝트를 하나 더 추가한다. 실버라이트 프로젝트 하나는 Sender 애플리케이션으로 다른 하나는 Receiver 애플리케이션으로 작업한다.

예제 – Sender 애플리케이션 부분 MainPage.xaml

예제 – Sender 애플리케이션 부분 MainPage.xaml.cs System.Windows.Messageung 네임스페이스 추가

예제 – Receiver 애플리케이션 부분 MainPage.xaml

예제 – Receiver 부분 MainPage.xaml.cs Sender와 동일한 네임스페이스 추가.

예제 지난주에 배운 대로 Default.aspx에 <object>태그를 이용하여 Sender와 Receiver 어플리케이션 추가. 실행 결과

InkPresenter 컨트롤 InkPresenter 컨트롤은 Canvas에서 파생된 컨트롤로 Child 프로퍼티를 사용하여 자식 UIElement를 표시하거나 StrokeCollection 프로퍼티를 사용하여 드로잉 데이터(Stroke)를 화면에 표시하는데 사용 Stroke는 사용자가 마우스를 클릭하여 드로잉을 하고 난 후 마우스를 놓기까지의 각 시퀀스와 드로잉 시 펜의 내부 색, 테두리 색, 너비, 높이 및 드로잉 데이터가 포함되는 바운드를 의미

InkPresenter 구조도 InkPresenter의 StrokeCollection에 유저가 드로잉한 데이터가 Stroke의 형태로 저장됨.

실습 InkPresenter를 이용하여 간단한 드로잉이 가능한 웹페이지를 만들어라.

실습 설명 UI 부분 코드는 다음과 같다. InkPresenter를 사용하려면 System.Windows.Ink 네임스페이스를 .cs파일에 추가하여야 한다.

실습 설명 드로잉이 마우스를 통해서 이루어지므로 Page를 Load할 때(MainPage 함수에서) 필요한 마우스 이벤트를 InkPresenter에 등록하여 준다. MouseLeftButtonDown MouseMove LostMouseCapture

실습 설명 아래 4가지의 이벤트 CallBack 함수를 구현하여야 함. inkPresenter_MouseLeftButtonDown은 마우스 왼쪽 버튼을 눌렀을 경우 동작하는 이벤트 함수. inkPresenter_MouseMove는 마우스를 움직였을 경우 동작하는 이벤트 함수. inkPresenter_LostMouseCapture는 InkPresenter가 마우스 또는 스타일러스 캡쳐를 잃을 때 동작하는 이벤트 함수. DeleteButton_Click은 지우기 버튼 클릭시 동작하는 이벤트 함수.

실습 설명 - MouseLeftButtonDown 마우스 왼쪽 버튼을 누른다는 것은 사용자가 그림을 그리기 시작한다는 말이다. 따라서 마우스의 위치를 캡쳐하여야 한다. InkPresenter의 메소드중 CaptureMouse()를 사용한다. StylusPointCollection 컬렉션을 생성한다. StylusPointCollection 클래스를 사용. 생성자는 기본 생성자임(new StylusPointCollection()) InkPresenter를 기준으로 하는 마우스 상대좌표 컬렉션을 추가한다. e.StylusDevice.GetStylusPoints(InkPresenter의 아이디)가 InkPresenter의 상대좌표 컬렉션이다.

실습 설명 - MouseLeftButtonDown 컬렉션 데이터를 이용하여 Stroke를 생성한다. 코드 최상단에 이미 선언한 Stroke 변수를 사용. Stroke의 DrawingAttribute 프로퍼티를 설정한다. DrawingAttributes.Width DrawingAttributes.Height DrawingAttributes.Color DrawingAttributes.OutlineColor 위와 같은 속성들의 값에 따라 드로잉 데이터가 바뀐다. Stroke 데이터를 InkPresenter의 Stroke 컬렉션에 추가한다.

실습 설명 - MouseMove Stroke의 null 여부를 체크한다. Null이 아닐경우 MouseLeftButtonDown 이벤트 함수에서 생성하여 InkPresenter에 추가했던 Stroke 컬렉션(Stroke 변수)에 마우스 좌표 컬렉션을 추가합니다. Stroke의 Attribute중 StylusPoints에 추가. e.StylusDevice.GetStylusPoints(InkPresenter 아이디)가 마우스 좌표 컬렉션이다.

실습 설명 - LostMouseCapture InkPresenter가 마우스 또는 스타일러스 캡쳐를 잃었기에 이미 선언된 Stroke를 null로 초기화 하면 된다.

실습 설명 - DeleteButton_Click InkPresenter의 Stroke 컬렉션을 Clear 해주고 선언한 Stroke 변수를 null로 초기화 해주면 된다.