실버라이트(SilverLight) 강좌와TIP 게시판입니다. - 시삽보기

제목: DeepZoom 강좌 3. Deep Zoom 마우스로 컨트롤 하기
글쓴이: 오일석
평점: 없음
조회: 2341
DeepZoom 강좌 1. Deep Zoom Composer를 이용하여 .sdi 파일 만들기
DeepZoom 강좌 2. 실버라이트의 <MultiScaleImage> 컨트롤 사용
DeepZoom 강좌 3. Deep Zoom 마우스로 컨트롤 하기
DeepZoom 강좌 4. Deep Zoom 마우스 컨트롤 코드 살펴보기

DeepZoom 강좌 3. Deep Zoom 마우스로 컨트롤 하기

이전 두 강좌에서 우리는 Deep Zoom Composer로 SeaDragon 이미지 파일을 만들었고 VS 2008에서 실버라이트 프로젝트를 만들어서 <MultiScaleImage> 컨트롤을 이용하여 실버라이트에 Deep Zoom 이미지를 띄웠습니다. 하지만 가장 중요한 마우스로 줌인/줌아웃이 되지 않았죠. 이번 강좌에서는 마우스 이벤트 핸들러를 이용해서 줌인/줌아웃을 구현해 보겠습니다.

줌인/줌아웃에 관련된 소스코드는
* The Weekly Source Code 18 - Deep Zoom (Seadragon) Silverlight 2 MultiScaleImage Mouse Wheel Zooming and Panning Edition - Scott Hanselman
* 마우스 휠 사용을 위한 코드 - pete blois
에서 가져왔습니다.

우선 작동을 시켜보고 소스코드를 살펴보는것이 좋을 것 같습니다. 아래 C# 코드를 다운받아서 실버라이트 프로젝트에 추가시킵니다.


프로젝트에 추가시키는 방법은 실버라이트 프로젝트에서 오른쪽 클릭을 하고 Add - Add Existing Item을 선택하여 다운로드 받은 파일을 선택합니다.

사용자 삽입 이미지

그런후에 Page.xaml.cs 파일을 열어서 생성자에서 아래와 같이 코드를 한줄만 입력합니다.

public Page()
{
    InitializeComponent();
    DeepZoomMouseController mouseController
                          = new DeepZoomMouseController(this, msimgPoster);
}
이 코드는 방금 다운로드해서 추가한 클래스를 이용해서 마우스컨트롤러를 생성합니다. 두가지 파라미터는 <MultiScaleImage>를 포함하고 있는 컨트롤 (여기서는 Page)과 <MultiScaleImage> 컨트롤의 이름 입니다.

이렇게 한 다음에 F5를 눌러서 실행을 시키면 이제 드디어 마우스로 줌인/줌아웃이 가능하게 됩니다. 작동하는 기능은
 - 마우스 왼쪽 클릭 : 줌인
 - Shift 키를 누르고 마우스 왼쪽 클릭 : 줌 아웃
 - 마우스 드래그 : 이동
 - 마우스 휠 : 줌인/줌아웃

사용자 삽입 이미지



다음 강좌에서는 방금 사용한 코드를 일부만 분석을 해보겠습니다.

오일석

작성자 정보

글등록 +12 3276
덧글등록 +3 126
이름: 오일석(onestone )

Level 53
 [EXP.202/250 ]


메일: onestone.oh골뱅이gmail.com

홈페이지: onestone.tistory.com
자기소개
오일석 (OH IL SEOK)
HOONS닷넷(http://www.hoons.kr) Silverlight 시삽
블로그: http://onestone.tistory.com
 
글 공유하기 |
 tweet facebook
2008-03-18 오후 2:43:51
IP: 203.130.120.87
        
트랙백 주소 : http://www.hoons.kr/11816/BoardTrackback.aspx ()
등록된 트랙백 0

나도한마디
사용자
글등록 +120  덧글등록 +14
김기석            [2008-03-19]
Level 1
 [EXP.12/16]
강좌 감사히 잘 보고 있습니다. 예제로 테스트 해보니 휠 줌인/아웃이 안되었습니다.
HandleMouseWheel메서드의 마지막에 Zoom(ZoomFactor, this.lastMousePos);를 추가하니 되네요 ^^;
사용자
글등록 +123276  덧글등록 +1126
오일석            [2008-03-19]
Level 53
 [EXP.202/250]
그러게요 다시 올려야겠어요
사용자
글등록 +123276  덧글등록 +1126
오일석            [2008-03-19]
Level 53
 [EXP.202/250]
소스에서 한줄이 빠져서 다시 올렸습니다.
사용자
글등록 +12336  덧글등록 +174
따라하기            [2008-08-13]
Level 16
 [EXP.28/70]
오예~~ 여기 까지 성공 입니다.
강좌가 굿 입니다. 친철한 설명과 그림 까지
잘 배웠습니다.
태그로 엮인글 리스트
글리스트
  [TIP] Center 정렬시 주의점 [2] 평가안됨 gongdo
  리소스와 URI 평가안됨 gongdo
  실버라이트2 DeepZoom 데모 [5] 평가안됨 HOONS
  Windows Live 실버라이트 스트리밍 서비스 사용하기 [2] 평가안됨 gongdo
  DeepZoom 강좌 4. Deep Zoom 마우스 컨트롤 코드 살펴보기 [3] 평가안됨 오일석
   ★현재글->  DeepZoom 강좌 3. Deep Zoom 마우스로 컨트롤 하기 [4] 평가안됨 오일석
  DeepZoom 강좌 2. 실버라이트의 <MultiScaleImage> 컨트롤 사용 [3]+3 평가안됨 오일석
  DeepZoom 강좌 1. Deep Zoom Composer를 이용하여 SeeDragon이미지(.sdi) 만들기 [2] 평가안됨 오일석
  실버라이트 도움말을 VS 2008 에 연결하기 [3] 평가안됨 오일석
  ScottGu's 실버라이트 튜토리얼 번역 완료 [24] 10점 오일석
  실버라이트 튜토리얼 파트 8: WPF를 이용하여 테스트탑용 Digg 클라이언트 만들기 [4] 평가안됨 오일석


사용자 정보

close