實例解析Windows Phone開發(fā)中DeepZoom功能
本文和大家重點學習一下Windows Phone開發(fā)中DeepZoom用法,DeepZoom是silverlight的特色功能之一,也可以說這個功能現(xiàn)在應該算是phone7Ui的主要功能了,它是如何使用的呢,請看本文詳細介紹。
Windows Phone開發(fā)中DeepZoom用法解析
DeepZoom是silverlight的特色功能之一,也同樣被加到了windowsphone7中來。這個功能現(xiàn)在應該算是phone7Ui的主要功能了吧。因為phone7的很多Ui就是DeepZoom開發(fā)的,另外在MIX10大會有展出的漫畫閱讀軟件也是由DeepZoom開發(fā)的,由此也可以看的出這個功能在phone7上的重要性。
一.要開發(fā)DeepZoom首先需要在Windows Phone開發(fā)中使用DeepZoomComposer這個在expression下的工具來生成deepzoom圖集。
 
二.新建windowsphoneapplication,在xaml設計窗口加入以下語句:
- <MultiScaleImagex:NameMultiScaleImagex:Name="msi"Width="486"Height="652"VerticalAlignment="Top"HorizontalAlignment="Left"Margin="-6,0,0,0"/>
 
在Phone7中只能用MultiScaleImage來展示DeepZoom圖集。
三.將Windows Phone開發(fā)中DeepZoomComposer生成的圖集加入到工程中。
四.加入如下代碼,以顯示圖集:
- this.msi.ImageOpenSucceeded+=newRoutedEventHandler(msi_ImageOpenSucceeded);
 - voidmsi_ImageOpenSucceeded(objectsender,RoutedEventArgse)
 - {
 - Pointpoint=this.msi.ViewportOrigin;
 - msi.ViewportWidth=1;
 - msi.ViewportOrigin=newPoint(0,-0.3);
 - }
 - this.msi.Source=newDeepZoomImageTileSource(newUri("Assets/dzc_output.xml",UriKind.Relative));
 
五.要讓圖集移動,縮放,還需要加入MouseMove,LButtonDown,LbuttonUp的響應。
- privatevoidZoom(doublezoomnew,Pointp)
 - {
 - if(zoomnew<0.5)
 - zoomnew=0.5;
 - msi.ZoomAboutLogicalPoint(zoomnew/zoom,p.X,p.Y);
 - zoom=zoomnew;
 - }
 
好了,運行一下吧,看看是不很有趣!看看效果吧。

 

 
 















 
 
 

 
 
 
 