零元学Expression Blend 4 - Chapter 23 Deep Zoom Composer与Deep Zoom功能
原文:零元学Expression Blend 4 - Chapter 23 Deep Zoom Composer与Deep Zoom功能
最近有机会在工作上用到Deep Zoom这个功能,我就顺便介绍一下这个一直很夯的功能吧!
虽然有很多前辈已经写过Deep Zoom的相关介绍文章了,但我想用自己的方式再把Deep Zoom这个功能整理的更完整一点。
?
最近有机会在工作上用到Deep Zoom这个功能,我就顺便介绍一下这个一直很夯的功能吧!
?
虽然有很多前辈已经写过Deep Zoom的相关介绍文章了,但我想用自己的方式再把Deep Zoom这个功能整理的更完整一点。
?
下面这个网站是一个很经典的Deep Zoom范例,如果有参加微软的座谈会或是发表会的朋友应该会觉得很眼熟:
动动你的滑鼠滚轮玩看看吧!
<Hard Rock Cafe Memorabilia >http://memorabilia.hardrock.com/
![]()
?
接着,我先引用Msdn对Deep Zoom这个功能的介绍来开场
?
如果使用者,放大大型影像的特定区域,则只会下载需要显示这些特定区域的并排显示部分。
如此一来可以大幅节省频宽,因为使用者通常只对大型影像的某些部分感兴趣。
下图显示影像金字塔的概念式外观,影像会储存为并排显示的影像金字塔。
在金字塔的每一层,影像都会以系数 4 缩小 (每一个尺寸的系数为 2)。
同时,影像会并排显示为 256x256 图块。
![]()
?
假设您放大影像仅查看影像之反白显示的中间部分,则 Deep Zoom 只会载入反白显示的并排,而不会显示整个 1024x1024 影像。
?
Deep Zoom 案例
Deep Zoom 可用於许多不同的地方,不过有三个主要状况特别适合使用 Deep Zoom。
(一)浏览超大型或高解析度的影像:
典型的例子即是将大型地图的几个区域放大以不同详细程度来观看,然後使用滑鼠在地图上移动检视区。当使用者移动检视区时,则利用动画让使用者感觉他们是从影像的某个地方「移动」到另一个地方。另一个例子是浏览由高解析相片构成的专业级相片构图。
?
(二)立体摄影:
连续对房间拍照,以产生能构成一张房间 360 度图片的一组相片。将相片拼在一起,使用者即可上下左右观看房间。
?
(三)广告:
可以建立解析度相对较低的影像以呈现广告的完整主题,接着再建立解析度较高且包含更多产品外观细节与资料的影像。
当包含广告的页面首次载入时,将会接连载入较高解析度的影像,让广告逐渐且流畅地变得愈来愈清晰,以引起观看者的注意。
由於广告以渐进方式载入,因此广告对使用者整体的网站使用体验不会有明显的影响。除此之外,当使用者将滑鼠移到广告上时,广告的不同部分将会放大。
?
Deep Zoom 功能
Deep Zoom 使用多重解析度影像,达成较高的画面播放速率,并提供快速开启超大影像的体验。
在载入时,只需要载入少量资料,以便在萤幕上快速地显示一些内容。初始载入体验是要显示影像的低解析度版本,然後再混合可以使用的较高解析度版本。
这是 Deep Zoom 可营造由模糊变清晰之体验的原因,也说明了为什麽不论影像大小,Deep Zoom 似乎都能够立即开启影像,而且载入影像资料的等待时间也不长。
除了初始载入之外,使用者在与应用程式互动 (例如缩放和移动) 时也会有相同的行为体验。
![]()
?
?
接着进入正题噜!
?
01
要制作Deep Zoom效果,我们必须要运用Deep Zoom Composer这个软体配合着Blend进行
请先下载Deep Zoom Composer
下载完成後,执行安装:
![]()
?
安装完成,你可以发现他被整合於Expression下:
![]()
?
02
开启Deep Zoom Composer:
![]()
?
建立一个新档案:
![]()
?
03
在Import模式下,视窗画面右上方会有一个Add image…
请点击此钮,让我们来加入图片
![]()
?
可以一次选取全部或单张
![]()
?
按下开启旧档完成後,图片就被载入到专案内
![]()
?
04
接着我们切到Compose模式
![]()
?
画面最下方会有你置入的所有图片,请拖拉你要的图片放到中间的工作区:
(Deep Zoom Composer内建了对齐线)
已拉入的图片会在下排工作列中变淡。
![]()
?
你也可以一次放入全部的图片
![]()
?
再使用内建排列工具来调整位置
(如果遇到上千张图片,这可是很方便的工具喔!)
![]()
?
Deep Zoom Composer 也建有图层观念:
使用Layer下的上下箭头来调整图层
![]()
![]()
?
也可以点选後方的眼睛图案隐藏该图片:
![]()
?
05
在图片上单击滑鼠右键,我们看看还有什麽功能:
![]()
?
今天小猴子仅对External Link(外部连结)跟Internal Link(内部连结)做介绍
?
External Link:
在图片上单击右键後,点选Add External Link 会出现外部连结管理视窗,如下图:
(不能新建URL吗?请点击Existing URLs旁的文件图示一下)
![]()
?
建立完成後,你可以在External Links的管理表上看到新建立的Link
![]()
?
Internal Link:
我做了一个范例,这样比较可以看的出Internal Link的功能
![]()
?
我做了海边、景点以及饭店(皆为jpg图片而已)准备当成我等等内部连结的对应图片
接着,我在海边上点右键->Add Internal Link
出现Direct Link後选一张图片,按下右下角的OK
![]()
?
在Internal Links 可以看到,海边->帆船图,这就表示,当使用者点选海边後,就会跳到这帆船图来
![]()
?
都完成後,切换到Export模式,我们要进入Deep Zoom Composer内的最後阶段:
在右侧会有一个Settings功能表
![]()
?
在Output type类别中,选择其中一个选项:
选择 [Silverlight Deep Zoom],则会产出 Silverlight Deep Zoom 影像。
若选择 [Seadragon Ajax],则会产出Seadragon Ajax Deep Zoom 影像。
?
06
Export options 类别中,选择Composition 与 Collection有什麽不同呢?
我发现艾小克大大有很详细的介绍喔!所以我就不多做介绍了。
?
?
按下Preview看看成果:
您应该会看到 Deep Zoom 影像填满整个浏览器视窗
有发现影像一开始很模糊,然後才变清晰吗?
?
07
?
那该如何把做好的Deep Zoom放进Blend呢?
有了 Deep Zoom 影像之後,您必须有 Deep Zoom 物件 (例如 MultiScaleImage) 才能在Blend载入它。
![]()
?
在Properties->Common Properties的Source载入刚刚制作好的档案
![]()
?
你可以在Expression资料夹内的Deep Zoom Composer Projects里,找到Export Data内档名有_output的xml档
![]()
?
我们看看放入Deep Zoom後的Xaml
1: <MultiScaleImage Margin=”0” Source="source/dzc_output.xml" />
?
接下来就可以使用熟悉的Blend继续你的专案噜!
?
?
本篇的教学就到此。
?
?
?
(若有任何错误的地方,请各位前辈或同好能不吝指教,小女子都会虚心接受;若是你喜欢我的教学,请给我点鼓励,谢谢。)
?
一步一步迈向HIE之路
喜欢我文章请推我一下或给我个回应,你的鼓励会给我无限的动力喔!
若是您有其他问题或是特别需要,请在文章回应处留言,我会尽快回覆您
零元学Expression Blend 4 - Chapter 23 Deep Zoom Composer与Deep Zoom功能的更多相关文章
- 零元学Expression Blend 4 - Chapter 36 来玩捉迷藏吧!!!看看ScrollBar的Disabled与Hidden之差异
原文:零元学Expression Blend 4 - Chapter 36 来玩捉迷藏吧!!!看看ScrollBar的Disabled与Hidden之差异 本次要针对Disabled以及Hidden作 ...
- 零元学Expression Blend 4 - Chapter 11 用实例了解布局容器系列-「Border」
原文:零元学Expression Blend 4 - Chapter 11 用实例了解布局容器系列-「Border」 将教大家以实做案例认识Blend 4 的布局容器,此章介绍的布局容器是Blend ...
- 零元学Expression Blend 4 - Chapter 8 用实例了解布局容器系列-「Grid」
原文:零元学Expression Blend 4 - Chapter 8 用实例了解布局容器系列-「Grid」 本系列将教大家以实做案例认识Blend 4 的布局容器,此章介绍的是Blend 4 里的 ...
- 零元学Expression Blend 4 - Chapter 46 三分钟快速充电-设定Margin的小撇步
原文:零元学Expression Blend 4 - Chapter 46 三分钟快速充电-设定Margin的小撇步 如果需要经常的使用某一项工具,总会希望能够更快速的使用各项设定达到效果 今天要介绍 ...
- 零元学Expression Blend 4 - Chapter 47 超简单!运用StackPanel配合OpacityMask做出倒影效果
原文:零元学Expression Blend 4 - Chapter 47 超简单!运用StackPanel配合OpacityMask做出倒影效果 有网友问我如何在Blend内制作出倒影效果 我提供了 ...
- 零元学Expression Blend 4 - Chapter 44 Flash做的到的Blend也可以!轻松制作拥有动画的MenuBar!(下)
原文:零元学Expression Blend 4 - Chapter 44 Flash做的到的Blend也可以!轻松制作拥有动画的MenuBar!(下) 抱歉久等了!!!! 终於到了动画MenuBar ...
- 零元学Expression Blend 4 - Chapter 45 ListBox里的物件不能换行吗?
原文:零元学Expression Blend 4 - Chapter 45 ListBox里的物件不能换行吗? ListBox里的排列不是垂直就是水平,觉得这样的排列很枯燥乏味吗? 想要它变聪明吗? ...
- 零元学Expression Blend 4 - Chapter 42 五分钟快速完成扇形变圆形动画
原文:零元学Expression Blend 4 - Chapter 42 五分钟快速完成扇形变圆形动画 零元学Expression Blend 4 - Chapter 42 五分钟快速完成扇形变圆形 ...
- 零元学Expression Blend 4 - Chapter 41 Flash做的到的Blend也可以!轻松制作拥有动画的MenuBar!(中)
原文:零元学Expression Blend 4 - Chapter 41 Flash做的到的Blend也可以!轻松制作拥有动画的MenuBar!(中) 我们接着进行动画MenuBar的制作 接续着上 ...
随机推荐
- Bootstrap手机网站开发案例
Bootstrap手机网站开发案例 一.总结 一句话总结:Bootstrap手机网站开发注意事项(3点):a.引入viewpoint声明,b.通过屏幕宽动态控制元素显隐 c.图片添加自适应 1.Boo ...
- SWIFT学习笔记04
1.在实际编译时,Swift 编译器会优化字符串的使用.使实际的复制仅仅发生在绝对必要的情况下,这意味着您将字符串作为值类型的同一时候能够获得极高的性能. 2.for character in &qu ...
- HDOJ 1261 字串数
JAVA大数.... 字串数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
- spring 技巧集锦
SpringBoot四大神器之Actuator actuator是spring boot提供的对应用系统的自省和监控的集成功能,可以对应用系统进行配置查看.相关功能统计等. <dependenc ...
- VC和matlab混合开发学习
作者:朱金灿 来源:http://blog.csdn.net/clever101 第一种方式是直接调用Matlab Engine的接口.Matlab Engine 采用Client/Server的方式 ...
- Android客户端后台发送邮件(JMail)
今天在做项目的时候要处理用户注册问题,里面有个邮箱验证,网上找了一下果然有人做过,但是我拿过来都运行不起来,或者是发送不了邮件.后来我对这个浅浅的研究了一下,贴出来和大家共享. Activity pa ...
- c语言学习笔记(14)——算法
链表 算法: 1.通俗定义: 解题的方法和步骤 2.狭义定义: 对存储数据的操作 对不同的存储结构,要完成某一个功能所执行的操作是不一样的 比如:要输出数组中所有的元素和输出链表中所有元素的操作是不一 ...
- centos下载安装mysql,并设置远程访问
思路 获取安装文件→配置好路径→安装→设置权限→处理常见的问题. 1.下载 先建议去官网看看https://dev.mysql.com/,然后根据自己的常识找到下载路径.同时也找到最新版本. 下载方式 ...
- linux 静态库和动态库(共享库)的制作与使用(注意覆盖问题)
一.linux操作系统支持的函数库分支 静态库:libxxx.a,在编译时就将库编译进可执行程序 优点:程序的运行环境中不需要外部的函数库 缺点:可执行程序大 动态库:又称共享库,libxxx.so, ...
- java学习笔记(2)——函数
int a = 1; a = a++; 1,取出a的值1作为a++表达式的值(a++表达式等于1) 2,a增加1变为2 3,执行赋值运算,a++表达式的值再赋给a,a又成为了1. ---------- ...