Expression Blend and Design

The team blog of the Expression Blend and Design products.

What’s new in Deep Zoom Composer!

What’s new in Deep Zoom Composer!

  • Comments 45

Yesterday, we released another update to Deep Zoom Composer, and you can download it for free from the following location:

dzcicon Download Deep Zoom Composer

In case you are not familiar with this app, Deep Zoom Composer (DZC) allows you take images, arrange them on a design surface, and export them for use with the Deep Zoom technology found in Silverlight 2. You can see a really impressive demo at Hard Rock Cafe’s Memoribilia site where they use Deep Zoom to show you a lot of high-resolution imagery. You can create something similar using your own images with DZC.

This update sports a lot of cool features besides just supporting the Silverlight 2 Beta 2 changes, so for the rest of this post, let’s take a look at these new features.

XML Support
One of the big changes we made was replacing the old BIN file formats with an XML-based file format instead (dzc_output.xml):


EDIT: Picture updated on June 9th to refer to correct XML file.

This means that your MultiScaleImage control will no longer work when you set its Source property to a BIN file. It has to be the new XML-based file, but don’t worry, Deep Zoom Composer takes care of those details for you. The project template we export provides all of the hooks necessary for you to have a working Silverlight 2 Beta 2 application without you doing anything extra.

Thanks to Avi Dunn, Lutz Gerhard, Dan Cory, and Radoslav Nickolov of the Live Labs team for making these changes to both the encoder as well as the MultiScaleImage control.

Image Importing Changes, Quality Settings, Transparent PNG Support
In previous versions, when you imported an image, we flattened everything down to a JPEG whose quality was 95. While that seems like a pretty good tradeoff, it does not help when you are importing a transparent PNG or a lossless format where quality really matters. In this version, we respect whatever file format your input image is in. If it is a JPEG or PNG, we encode it as a JPEG or PNG on the design surface. If it is some other lossless format, we pick the appropriate lossless format for you.

When exporting, you can now pick between JPEG or PNG, and if you picked JPEG, you have the ability to adjust the image quality:


We are not providing support for image formats beyond PNG and JPEG because we are only supporting the image types Silverlight 2 currently supports.

Undo and Redo
You now have the ability to Undo and Redo any action you perform on the artboard:


Use the Edit menu or the standard Ctrl + Z and Ctrl + Y key combinations for performing Undo and Redo respectively.

Simplified Auto-Grid Arrangement
To quickly help you arrange your images on the artboard, we introduced some cool snapping and guideline functionality in our previous version. Now, if you want to bypass manual arrangement altogether, you can arrange your images into a grid! Simply select multiple images, right click, and select Arrange into a Grid from the Arrange menu:


This will allow you to constrain your arrangement by either rows or columns:


All that said, the big takeaway is that you now have a very quick and easy way of arranging all of your images into a grid:


While the above example only shows same-sized images being arranged, you can work with images of varying sizes as well.

Support for Tagging
When working with collections, having a way to filter your images would be useful. Many of you were modifying your SparseImageSceneGraph XML file by adding extra nodes to represent metadata. To help with this, we are now providing tagging functionality within the UI itself:


Select an image or a group of images, and set the tags you want on them. When you export, we now output an XML file called Metadata that contains your image details, its zorder, as well as any tags you set on it:


This file closely mimics your SparseImageSceneGraph, so you can use Silverlight 2’s support for LINQ to quickly parse the XML data and associate tags with the appropriate images. We will provide an example of how to do that in a future post.

Final Remarks
We hope you like these new changes, and if you have any cool features or ideas on what you would like to see in the next version of the app, let us know by commenting below.

Celso, Christian, Janete, Kirupa

Leave a Comment
  • Please add 3 and 8 and type the answer here:
  • Post
  • Is there a location where I can find out how to add a Full Screen button and maybe constrain the pan ability to the edge of the image collection?

    I can find all sorts of far more complex issues.  I'd be happy just with the full screen button.  :)

  • Michael - your timing could not have been better! I just wrote an article on getting full screen:

    I will try to provide more examples addressing the things you mention in the future, so please do let us know of your more complex issues.


    Kirupa :)

  • Today we covered Deep Zoom, based on Seadragon technology, which allows the users of our Silverlight

  • I have a need to programmatically add images to the image - ie. think of a map image - then I want to place images on top of it - ie. think of a 'rest stop' image showing where all rest stops are on a map.

    This is dynamically generated, reading from a datasource of the x,y locations of all rest stops.

    So - it must be done on the fly.  Each image will need to support clicking on the image to popup a window giving information on that rest stop.  

    I've done all this on a web page, but I want the deep zoom capability.

    How would I go about doing all this?

  • A pochi giorni dalla presentazione ufficiale del plug-in Silverlight 2 vi segnalo la disponibilità online

  • A pochi giorni dalla presentazione ufficiale del plug-in Silverlight 2 vi segnalo la disponibilità online

  • SparseImageTool Problem.


    I downloaded the beta 2 version of the deepzoom composer and I am trying to use its sparseimagetool.exe utility to generate an image pyramid.

    the scenegraph file I passed as parameter contains subimages with different ZOrders.

    The utility produces the .dzi file which I plug to an msi control in code-behind on startup of my web page.

    However, when I read the subimage.ZIndex property of  the sub images in the msi control, they are all 0.

    Question :

    1. How do I use the deepzoom composer to generate the .dzi file using the scenegraphfile I created ?

    2. Is there a current bug in the sparseimagetool.exe utility that accounts for this issue ?

    Thanks for keeping me updated .

  • Hi Kirupa,

    What would be nice is the ability to add more images to a pre-existing collection without regenerating all the tiles! ImageTool.exe works well to incrementally update the dzc_output_images folder so how about a ThumbnailsTool.exe command-line app to generate the dzc_output_files folder given the SparseImageSceneGraph.xml file as input?

    I was thinking of doing it myself but why bother! You guys have the code and it's just a matter of repackaging it into another command line executable.


    Wilfred Pinto

  • Just picked up Deep Zoom today and got hooked.  I downloaded and installed all the needed stuff.  I made a mistake looking at the old DeepZoom tutorial but kinda figured there must be something new when the Window with 4 options popped up after hitting the "Export" button.  I was happy to see my little test work on the Browser (Preview in Browser) but when I tried the "Edit in Expression Blend" option, I got an error message: Invalid Arguments X The command-in line arguments are not valid: The project ".....\DeepZoomOutpot.sln" could not be found."  I thought you stated, "...provides all of the hooks necessary for you to have a working Silverlight 2 Beta 2 application without you doing anything extra."  I promise you I tried to understand how to resolve it.  I tried to look at the other Deep Zoom examples (Kirupa's MetaData and that Martin Tirion's Presentation Tool)but being more of a designer with very little knowledge of coding I'm running in to road blocks.  Can you help?  Am I being stupid for using Blend 2.5?  

  • I just downloaded Deep Zoom and started to play with it, great so far !

    One issue when exporting is the size of the preview in the generated Html page. It is limited to an area of about 800 x 600. Is there a way to change that so the preview area is full screen ?

    I read in one article that it is because of the defalt template. can we edit that.

  • Hughes - yes you can! You can open the project in Expression Blend 2.5 June 2008 Preview (

    Our documentation for editing the default template is nonexistant (for now), so please feel free to e-mail me directly at for further assistance.



  • When i Zoom  my image without silverlight so the image quality is going bad, does silverlight solve this problem?

    Does Deepzoom came with Silverligh Beta2.0

  • Hello,

    we noticed a bug in deepzoom composer.

    Here it is : when you change the project directory and try to open your dzprj file, DC updates the <sourcedirectory> and <TreeDirectory> and kills all your <ImageList>.

    Ugly isn't it?

    Thank you for all you can do to correct.


  • Hi,

    I'm still confused how to get the image tags working in the new version of DZC. The zoom feature on a tagged image is excellent, but still can't figure out how do the tags I add to an image must actually appear when I click on the image.

  • Suru - the image tags set via the Tag property are not read by the default viewer. Only the Tag Browser template reads them, and you can see what it does (and how it works) here:

    No version of DZC has ever read the image tag values by default, and the latest version only goes so far as providing you with a player that reads them.

    We are evaluating providing the source files for these templates as well (similar to what you had in the previous releases).


    Kirupa :)

Page 2 of 3 (45 items) 123