The file format used by Deep Zoom source files is xml-based. In the source file, you can specify a format for a single large image, or you can specify a format for the image collection. This overview describes how Deep Zoom handles these formats.
Note:
You can use tools to create Deep Zoom source files (for example, Deep Zoom Composer or Photosynth). This provides a way to see how the Deep Zoom file format works, including how the tiles and tile information is stored to disk.
Note:
The Deep Zoom image pyramid supports only the image files supported by the BitmapImage class.
Single image
A single large image in the Deep Zoom is represented by a tiled image pyramid. This allows the Deep Zoom rendering engine to crawl only those data that are necessary for a particular view of the image. If the image is reduced significantly when you view the image, a small thumbnail is required to display the image on the screen.
However, if the user enlarges the image to a specific area of the large image, only those tiles that are required to display that particular area will be downloaded. This can save a lot of bandwidth because users are usually only interested in certain aspects of a large image. The following illustration illustrates the appearance of an image pyramid from a conceptual view. The image is stored as a tiled image pyramid. At each level of the pyramid, the image is scaled down to 4 (the factor on each dimension is 2). In addition, the image is tiled as a 256x256 tile.
For example, if you enlarge the image to see only the middle portion of the highlight of the image, Deep Zoom will load only the highlighted tiles instead of the entire 1024x1024 image.
Each resolution of a pyramid is called a level. Levels start at 0, 1x1 pixels are 0 levels. The size of each level is 2 (levels) X2. Each level is stored in a separate folder. The name of the folder to which all levels are stored must be the same as the DZI file name, and the extension will be removed and "_files" appended thereafter. For example, Test.dzi's pyramid is stored in test_files. Each level can be divided into multiple tiles. The tile is named Column_row.format, where row is the line number of the tile (at the top starting at 0), column is the number of the tile (starting at 0 on the left), and the format is the appropriate extension (JPEG or PNG) of the image format used.