Silverlight 2中实现Deep Zoom

概述

对于Deep Zoom想必大家都已经不陌生了,在Silverlight 2 Beta 1时已经提供了支持,并且提供了相应的工具Deep Zoom Composer。Silverlight 2 Beta 2中对于Deep Zoom又有了很大的改进,现在支持基于XML的DeepZoom集合的Manifest文件,Beta2还对DeepZoom加了可扩展的MultiScaleTileSource支持,更新之后的Deep Zoom Composer可以使我们不用编写一行代码直接可视化的生成Deep Zoom应用。

本文将简单介绍并分析如何使用Deep Zoom Composer制作Deep Zoom的应用。在开始之前,请先确保安装了如下工具:

1.Silverlight Tools Beta 2 for Visual Studio 2008

2.Deep Zoom Composer

总体来说,利用Deep Zoom Composer实现Deep Zoom应用分为如下三个步骤:导入、组合、导出。这三个步骤在打开Deep Zoom Composer之后可以看到:

TerryLee_0133

导入

第一步导入图片,可以点击“Add Image”按钮,一次选择想要导入的图片,如下图所示:

TerryLee_0134

导入图片后效果如下图所示:

TerryLee_0135 

组合

经过了第一步导入图片后,我们可以对图片进行组合,选择需要加入到Deep Zoom应用中的图片,并调整其位置及大小,如果在第一步没有导入图片,同样可以通过“Add Image”按钮来导入。如下图所示:

TerryLee_0140

我们方便的对图片的布局等进行调整,如下图所示:

TerryLee_0141

导出

在对图片组合完成后,我们可以进行导出操作,并设置一些导出规则,如应用的名称,导出的路径等,这里Deep Zoom Composer提供了一个非常方便的选项,我们可以直接导出图片及生成Silverlight项目,如下图所示:

TerryLee_0142

效果

经过以上三步之后,就可以直接生成Deep Zoom应用了,不用编写一行代码,生成的Silverlight项目结构如下:

TerryLee_0143

可以直接打开DeepZoomProjectTestPage.html查看最终的效果,如下所示:

实际应用

新浪音乐在微软 4 月 14 日 “Silverlight 锋芒彰显” 发布会中展示了新浪音乐最新的乐库原型,其中应用了 Silverlight 中的 Deep Zoom 技术。更详细的情形大家可以参考这篇文章中的视频:

新浪音乐地图之 Deep Zoom 应用

结束语

本文简单的介绍了在Silverlight 2中实现Deep Zoom的应用,希望对大家有所帮助。

作者:TerryLee
出处:http://terrylee.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted @ 2008-07-21 23:28 TerryLee 阅读(3232) 评论(14)  编辑 收藏 网摘 所属分类: [03]  银光点亮世界

  回复  引用  查看    
#1楼 2008-07-21 23:52 | 5207      
COOL
  回复  引用  查看    
#2楼 [楼主]2008-07-22 23:42 | TerryLee      
@5207
:)
  回复  引用    
#3楼 2008-07-30 17:20 | drizzt1 [未注册用户]
请问再wpf应用程序中能实现DeepZoom的效果吗?
  回复  引用  查看    
#4楼 [楼主]2008-07-31 01:15 | TerryLee      
@drizzt1
貌似可以吧,WPF我不是很熟悉。
  回复  引用    
#5楼 2008-07-31 11:14 | drizzt1 [未注册用户]
谢谢回答

silverlight中使用MultiScaleImage来做容器,再system.window.dll中,wpf中不能引用:(不知道有没有替代方案
  回复  引用    
#6楼 2008-07-31 11:15 | drizzt1 [未注册用户]
另:生成的文件太恐怖了,呵呵
  回复  引用  查看    
#7楼 [楼主]2008-08-01 00:58 | TerryLee      
@drizzt1
我不太确定WPF有没有类似的控件

生成的文件确实比较恐怖……
  回复  引用  查看    
#8楼 2008-08-17 22:59 | Kai.Ma      
如果部署,那么多文件都要上传到服务器上吗?
  回复  引用  查看    
#9楼 [楼主]2008-08-20 10:22 | TerryLee      
@Kai.Ma
是的,都需要上传到服务器上。
  回复  引用  查看    
#10楼 2008-09-04 17:07 | yuonh      
LZ:
问下能不能在代码里面鼠标点击时候控制DeepZoom它导出层?
让别的层隐藏什么的。。

还有就是能不能点击时候取得这长图片,然后其他隐藏什么的操作啊?
要是能的话能发下邮件给俺说下么?谢谢。
顺便说下随鼠标移动不好看。。还不如鼠标拖拽来的好。
  回复  引用  查看    
#11楼 [楼主]2008-09-10 23:43 | TerryLee      
@yuonh
这个恐怕实现起来有难度。
  回复  引用  查看    
#12楼 2008-09-26 11:02 | 赤月之下      
貌似图片不是很清晰,我的意思是原本很清晰的图片,在生成的效果里不是很清晰。
  回复  引用  查看    
#13楼 [楼主]2008-10-08 11:43 | TerryLee      
@赤月之下
需要一定的时间下载。。。
  回复  引用    
#14楼 2008-10-27 18:29 | Lon [未注册用户]
我想问下~~导出来后为什么没有info.bin这个啊??

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-07-21 23:32 编辑过
Google站内搜索



相关文章:


相关搜索:
Silverlight Deep Zoom

相关链接: