Welcome

首页 / 软件开发 / Silverlight / Silverlight的Deep Zoom文件格式概述

Silverlight的Deep Zoom文件格式概述2011-09-29msdnDeep Zoom 源文件所使用的文件格式是基于 XML 的。在源文件中,您可以为单个大图像指定格式,也 可以为图像集合指定格式。本概述介绍 Deep Zoom 如何处理这些格式。

注意说明:

您可以使用工具来创建 Deep Zoom 源文件(例如,Deep Zoom Composer 或 Photosynth)。这可以提 供一种方法来查看 Deep Zoom 文件格式的工作原理,包括拼块和拼块信息是如何存储到磁盘的。

注意说明:

Deep Zoom 图像棱锥图仅支持 BitmapImage 类所支持的图像文件。

单个图像

Deep Zoom 中的单个大图像是由平铺图像棱锥图表示的。这允许 Deep Zoom 呈现引擎仅抓取图像的特 定视图所必需的那些数据。如果查看图像时图像的缩小幅度非常大,则在屏幕上显示该图像只需一个小缩 略图。

但是,如果用户将图像放大到大图像的特定区域,则将仅下载显示该特定区域所需的那些拼块。这可 以节省非常大的带宽,因为通常用户仅对大图像的某些方面感兴趣。下图从概念上演示了图像棱锥图的外 观。图像存储为平铺图像棱锥图。在棱锥图的每一个级别,图像缩小比例为 4(每个维度上的因子为 2) 。此外,图像还平铺为 256x256 个拼块。

例如,如果您放大了图像以仅查看图像的突出显示的中间部分,Deep Zoom 将仅加载突出显示的拼块 ,而不是加载整个 1024x1024 图像。

棱锥图的每一个分辨率称为一个级别。级别从 0 开始算起,1x1 像素为 0 级别。每一个级别的大小 为 2(level)x2(level)。每一个级别都存储在单独的文件夹中。所有级别存储到的文件夹的名称都必须与 DZI 文件名相同,且移除扩展名并在其后追加"_files"。例如,test.dzi 的棱锥图存储在 test_files 中。每一个级别都可以划分为多个拼块。拼块命名为 column_row.format,其中 row 是拼块的行号(在 顶部从 0 开始),column 是拼块的列号(在左边从 0 开始),format 是所用图像格式的相应扩展名( JPEG 或 PNG)。