一起学Windows phone 7开发(四. DeepZoom)

DeepZoom silverlight 的特色功能之一,也同样被加到了windows phone 7 中来。这个功能现在应该算是phone7 Ui 的主要功能了吧。因为phone7 的很多Ui 就是DeepZoom 开发的,另外在MIX10 大会有展出的漫画阅读软件也是由DeepZoom 开发的,由此也可以看的出这个功能在phone7 上的重要性。

 

一.要开发DeepZoom首先需要 DeepZoom Composer这个在expression下的工具来生成deepzoom图集。

 

二.新建windows phone application,在xaml设计窗口加入以下语句:

<MultiScaleImage x:Name="msi" Width="486" Height="652"  VerticalAlignment="Top" HorizontalAlignment="Left" Margin="-6,0,0,0" />

Phone7中只能用MultiScaleImage来展示DeepZoom图集。

 

三.DeepZoom Composer生成的图集加入到工程中。

四.加入如下代码,以显示图集:

 this.msi.ImageOpenSucceeded += new RoutedEventHandler(msi_ImageOpenSucceeded);

 

void msi_ImageOpenSucceeded(object sender, RoutedEventArgs e)

        {

            Point point = this.msi.ViewportOrigin;

            msi.ViewportWidth = 1;

            msi.ViewportOrigin = new Point(0, -0.3);

        }

 

this.msi.Source = new DeepZoomImageTileSource(new Uri("Assets /dzc_output.xml", UriKind.Relative));

 

五.要让图集移动,缩放,还需要加入MouseMove,LButtonDown,LbuttonUp的响应。

        private void Zoom(double zoomnew, Point p)

        {

            if (zoomnew < 0.5)

                zoomnew = 0.5;

 

            msi.ZoomAboutLogicalPoint(zoomnew / zoom, p.X, p.Y);

            zoom = zoomnew;

        }

好了,运行一下吧,看看是不很有趣!看看效果吧。







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值