<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8997000225332972813</id><updated>2011-11-27T15:27:15.273-08:00</updated><title type='text'>Cornucopia</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://clevercancerian.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8997000225332972813/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://clevercancerian.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Clever Cancerian</name><uri>http://www.blogger.com/profile/02167220157669251369</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8997000225332972813.post-2229803281466050904</id><published>2010-03-01T09:09:00.001-08:00</published><updated>2010-03-01T09:17:30.672-08:00</updated><title type='text'>Clicking on a search result redirects to a bad page!</title><content type='html'>I clicked on one of the links sent by a friend as a FB message. The link took me to a youtube page that said I needed Adobe Flash Player 10.0. Being dumb (as usual I guess :P), I clicked on the install link and voila! there comes the TDL3. TDL3 is a variant of TDSS rootkit (Alureon), a virus. This virus basically registers itself as a print processor. Since the print subsystem (spoolsv.exe) has administrative rights, it is a trusted part of Microsoft Windows. Hence, a typical virus scanner cannot detect this virus. I ran a full system scan and found no infection. On searching online (of course in another computer!), I found &lt;a href="http://www.surfright.nl/en/hitmanpro"&gt;Hitman Pro&lt;/a&gt; . Checkout the same website on how the virus eludes anti-virus software and  re-directs search results. Downloading Hitman Pro and running the system scan got rid of TDL3. Now this is experience!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8997000225332972813-2229803281466050904?l=clevercancerian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clevercancerian.blogspot.com/feeds/2229803281466050904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8997000225332972813&amp;postID=2229803281466050904' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8997000225332972813/posts/default/2229803281466050904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8997000225332972813/posts/default/2229803281466050904'/><link rel='alternate' type='text/html' href='http://clevercancerian.blogspot.com/2010/03/clicking-on-search-result-redirects-to.html' title='Clicking on a search result redirects to a bad page!'/><author><name>Clever Cancerian</name><uri>http://www.blogger.com/profile/02167220157669251369</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8997000225332972813.post-3932835270030135562</id><published>2010-02-11T19:25:00.000-08:00</published><updated>2010-02-11T19:53:22.361-08:00</updated><title type='text'>Configuring IIS - challenges</title><content type='html'>What is IIS? - Internet Information Service is basically a set of services for servers created by Microsoft. Lets leave out the technical details here. I would like to narrate my experience configuring IIS rather than copy-pasting information from somewhere in the Web. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Coming to my experience, why do I have to work with IIS out of the blue? I wanted to host a ASP.NET Web Service in local IIS. Thinking it is going to be easy (very very over confident I guess), I started off by enabling IIS feature under the Windows components. To do this, I had to get to Control Panel -&gt; Enable/Disable Windows Components. Well, that was easy. Since we already have a default website, we can see something displayed when we type http://localhost/ in the address bar of the Web Browser.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Then came the part of creating a ASP.NET Web Service. Thanks to Visual Studio IDE, creating a simple Web Service that displays "Hello World" is already built-in by default when we create a new ASP.NET Web Service. This was all cool, until I hit of the "play" button or rather I did the key combination ctrl+F5. I got an error "ASP.NET 2.0 has not been configured. You will have to do this manually for the Website to run properly" (I don't remember the exact phrases :P). Now, what is this? Looks like the Visual Studio IDE has been installed before the IIS has been configured! How do I work around this? Thanks to my friend &lt;a href="http://www.mayurtendulkar.com"&gt;Mayur&lt;/a&gt;, I could figure this out. I had to get to the ASP.NET IIS registration tool (&lt;a href="http://msdn.microsoft.com/en-us/library/k6h9cz8h(VS.80).aspx"&gt;aspnet_regiis.exe&lt;/a&gt;). In order to execute this tool, I got to the command prompt and navigated to the directory:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Then I had to run the tool using the command&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;aspnet_regiis -i&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; This was fun...I restarted IIS and tried running the Web Service with the hope that it will work now. But no (now what?). Well, I was thrown another error. It was more like &lt;a href="http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/523ae943-5e6a-4200-9103-9808baa00157.mspx?mfr=true"&gt;Integrated Windows Authentication&lt;/a&gt; has to be enabled. What in the world in this? No clue. Well, little bit of reading online told me that this had to do with client authentication to the Web Server. In order to set this, I had to open the IIS manager. I got to the IIS manager by going to Run and typing "inetmgr". Apparently, you can also get to IIS manager by going to Control Panel -&gt; Administrative Tools -&gt; Internet Information Services.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Once in IIS manager, I had to navigate to Default Website, right click and get to its Properties. Clicking on Directory Services tab took me to Anonymous access and authentication control (which I can edit). Clicking on edit button opens up the Authentication methods. One of the options listed is Integrated Windows Authentication. Checking this box solved the error. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I restarted IIS and found the Web Service to be working (success!).   &lt;/div&gt;&lt;div&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8997000225332972813-3932835270030135562?l=clevercancerian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clevercancerian.blogspot.com/feeds/3932835270030135562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8997000225332972813&amp;postID=3932835270030135562' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8997000225332972813/posts/default/3932835270030135562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8997000225332972813/posts/default/3932835270030135562'/><link rel='alternate' type='text/html' href='http://clevercancerian.blogspot.com/2010/02/configuring-iis-challenges.html' title='Configuring IIS - challenges'/><author><name>Clever Cancerian</name><uri>http://www.blogger.com/profile/02167220157669251369</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8997000225332972813.post-4222515006612776033</id><published>2008-07-06T02:35:00.001-07:00</published><updated>2008-07-06T02:35:27.253-07:00</updated><title type='text'>Understanding Deep Zoom - Part 7</title><content type='html'>&lt;p&gt;Check out &lt;a href="http://msdn.microsoft.com/en-us/library/cc645077(VS.95).aspx"&gt;MSDN&lt;/a&gt; for a more detailed explanation on Deep Zoom File Formats. I had earlier mentioned the same idea in my first two posts. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8997000225332972813-4222515006612776033?l=clevercancerian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clevercancerian.blogspot.com/feeds/4222515006612776033/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8997000225332972813&amp;postID=4222515006612776033' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8997000225332972813/posts/default/4222515006612776033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8997000225332972813/posts/default/4222515006612776033'/><link rel='alternate' type='text/html' href='http://clevercancerian.blogspot.com/2008/07/understanding-deep-zoom-part-7.html' title='Understanding Deep Zoom - Part 7'/><author><name>Clever Cancerian</name><uri>http://www.blogger.com/profile/02167220157669251369</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8997000225332972813.post-4417691981582887480</id><published>2008-06-21T16:30:00.000-07:00</published><updated>2008-06-21T17:28:17.071-07:00</updated><title type='text'>Understanding Deep Zoom - Part 6</title><content type='html'>My previous post was on the code that is generated by the Deep Zoom Composer. I finally downloaded the new upgraded version of Deep Zoom Composer from &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=457b17b7-52bf-4bda-87a3-fa8a4673f8bf&amp;DisplayLang=en"&gt;here&lt;/a&gt;. The upgraded version has XML support. It allows the tagging of images. One can also select the images and right click the selection to "Arrange into a Grid".&lt;a href="http://bp3.blogger.com/_OKjq6_KPEZU/SF2XrhVWMlI/AAAAAAAAANc/jmDE2o8T1M8/s1600-h/dz61.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_OKjq6_KPEZU/SF2XrhVWMlI/AAAAAAAAANc/jmDE2o8T1M8/s320/dz61.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5214490717502976594" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;&lt;a href="http://bp1.blogger.com/_OKjq6_KPEZU/SF2YFpfow8I/AAAAAAAAANk/zFrbh47bXoc/s1600-h/dz62.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_OKjq6_KPEZU/SF2YFpfow8I/AAAAAAAAANk/zFrbh47bXoc/s320/dz62.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5214491166370218946" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp2.blogger.com/_OKjq6_KPEZU/SF2YcNyj3lI/AAAAAAAAANs/rwAz9eCxY8E/s1600-h/dz63.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_OKjq6_KPEZU/SF2YcNyj3lI/AAAAAAAAANs/rwAz9eCxY8E/s320/dz63.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5214491554070388306" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp1.blogger.com/_OKjq6_KPEZU/SF2Yx4ZvOLI/AAAAAAAAAN0/YB_5X3wKLm4/s1600-h/dz64.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_OKjq6_KPEZU/SF2Yx4ZvOLI/AAAAAAAAAN0/YB_5X3wKLm4/s320/dz64.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5214491926286252210" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp0.blogger.com/_OKjq6_KPEZU/SF2ZC1xuK8I/AAAAAAAAAN8/f8Ea0aXGIpI/s1600-h/dz65.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_OKjq6_KPEZU/SF2ZC1xuK8I/AAAAAAAAAN8/f8Ea0aXGIpI/s320/dz65.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5214492217639316418" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The SparseImageTool.exe now generates dzc_output.xml file instead of items.bin file. The other output files that are generated are &lt;br /&gt;       dzc_output_file&lt;br /&gt;       dzc_output_images&lt;br /&gt;       Metadata.xml&lt;br /&gt;&lt;br /&gt;Metadata.xml has the metadata information about all the images. These include the x,y position and height, width of the images. The earlier versions of the Deep Zoom Composer flattened the images on the artboard as a JPEG image. The upgraded version allows flattening the images in PNG format as well. &lt;br /&gt;&lt;br /&gt;Check out the &lt;a href="http://blogs.msdn.com/expression/archive/2008/06/07/what-s-new-in-deep-zoom-composer.aspx"&gt;Expression Team Blog &lt;/a&gt;for more detailed information on What's new in the upgraded version of Deep Zoom Composer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8997000225332972813-4417691981582887480?l=clevercancerian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clevercancerian.blogspot.com/feeds/4417691981582887480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8997000225332972813&amp;postID=4417691981582887480' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8997000225332972813/posts/default/4417691981582887480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8997000225332972813/posts/default/4417691981582887480'/><link rel='alternate' type='text/html' href='http://clevercancerian.blogspot.com/2008/06/understanding-deep-zoom-part-6.html' title='Understanding Deep Zoom - Part 6'/><author><name>Clever Cancerian</name><uri>http://www.blogger.com/profile/02167220157669251369</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_OKjq6_KPEZU/SF2XrhVWMlI/AAAAAAAAANc/jmDE2o8T1M8/s72-c/dz61.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8997000225332972813.post-2227103724923094088</id><published>2008-06-15T22:46:00.001-07:00</published><updated>2008-06-16T21:55:10.888-07:00</updated><title type='text'>Understanding Deep Zoom - Part 5</title><content type='html'>&lt;p&gt;My last post was on using Deep Zoom Composer. &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh6.ggpht.com/srinivas.preethi/SFX-B8vFoUI/AAAAAAAAAM8/HPyarsEp1gU/s1600-h/dz514.jpg"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="235" alt="dz51" src="http://lh3.ggpht.com/srinivas.preethi/SFX-DYO8lsI/AAAAAAAAANA/eUDA8yMBKMM/dz51_thumb2.jpg?imgmax=800" width="399" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Notice that now I have selected "Export Images and Silverlight Project". You get &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh4.ggpht.com/srinivas.preethi/SFX-ELNKi4I/AAAAAAAAANE/WhOarIC2ZcY/s1600-h/dz523.jpg"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="226" alt="dz52" src="http://lh6.ggpht.com/srinivas.preethi/SFX-E8eJNhI/AAAAAAAAANI/k4TMwGGWhNw/dz52_thumb1.jpg?imgmax=800" width="389" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;When "View Project Folder" is clicked, &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh4.ggpht.com/srinivas.preethi/SFX-F6JPjEI/AAAAAAAAANM/UGePhYrCtr0/s1600-h/dz533.jpg"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="296" alt="dz53" src="http://lh5.ggpht.com/srinivas.preethi/SFX-HISTX2I/AAAAAAAAANQ/NxWiVfwyMHo/dz53_thumb1.jpg?imgmax=800" width="391" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Deep Zoom Composer generates code for the Deep Zoom Collection. It adds Web for hosting the Silverlight control. The ClientBin folder now has the Deep Zoom generated images and the SparseImageSceneGraph.xml file. &lt;/p&gt;&lt;p&gt;The Deep Zoom Image can be accessed using MultiScaleImage control in Silverlight. It is accessed in XAML as&lt;/p&gt;&lt;p&gt;&amp;lt;MultiScaleImage Source="GeneratedImages/dzc_output/items.bin" Height="440" x:Name="msi" /&amp;gt;&lt;/p&gt;&lt;p&gt;The Deep Zoom Composer adds a button named "Randomize". This is used to randomly arrange the images in a grid. Notice that there is no dependence on Javascript code here. All the events are in managed code. The &lt;strong&gt;MouseWheelHelper&lt;/strong&gt; class had methods to handle MouseWheel event for the MultiScaleImage. Zooming is provided based on the movement of the mouse wheel direction. The Mouse Wheel event is called by the browser and not by Silverlight. The Worker method initialises a new instance that listens to the mouse wheel events fired by the HTML document. &lt;/p&gt;&lt;p&gt;The &lt;strong&gt;MouseMove&lt;/strong&gt; event saves the current position and pans to the new position when mouse is dragged. The &lt;strong&gt;MouseLeftButtonDown&lt;/strong&gt; saves the inital dragOffset and currentPosition in case the user pans. It is the &lt;strong&gt;MouseLeftButtonUp&lt;/strong&gt; that zooms into the image in case the user is not completing a pan. It also resets the mouse. &lt;strong&gt;MouseWheelHelper(msi).Moved&lt;/strong&gt; zooms in or out depending on the mouse wheel direction. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;ArrangeIntoGrid&lt;/strong&gt; method arranges the images into a grid provided they are all of same size. It gets a randomised list of images and arranges them into a grid of 4 columns. The number of rows is calculated based on number of images in the collection.  Hit on F5 and you should see a grid of images into which you can zoom in and out. You can pan the images as well. In addition, you can hit on Randomize button to rearrange the images in a different fashion.  &lt;/p&gt;&lt;p&gt;There! This should get one started on programming more functionality using this wonderful technology. &lt;/p&gt;&lt;p&gt;Have fun coding! :-)&lt;/p&gt;&lt;br /&gt;&lt;iframe scrolling="no" frameborder="0" style="width:230px; height:180px" src="http://silverlight.services.live.com/invoke/61828/DeepZoomOutput/iframe.html"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8997000225332972813-2227103724923094088?l=clevercancerian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clevercancerian.blogspot.com/feeds/2227103724923094088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8997000225332972813&amp;postID=2227103724923094088' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8997000225332972813/posts/default/2227103724923094088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8997000225332972813/posts/default/2227103724923094088'/><link rel='alternate' type='text/html' href='http://clevercancerian.blogspot.com/2008/06/understanding-deep-zoom-part-5.html' title='Understanding Deep Zoom - Part 5'/><author><name>Clever Cancerian</name><uri>http://www.blogger.com/profile/02167220157669251369</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/srinivas.preethi/SFX-DYO8lsI/AAAAAAAAANA/eUDA8yMBKMM/s72-c/dz51_thumb2.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8997000225332972813.post-4221339124220477988</id><published>2008-06-14T01:20:00.001-07:00</published><updated>2008-06-14T01:20:20.052-07:00</updated><title type='text'>Understanding Deep Zoom - Part 4</title><content type='html'>&lt;p&gt;I had been blogging on Deep Zoom, but there's no entry on how to use Deep Zoom Composer. So in this blog entry, I am going to take you through the usage of Deep Zoom Composer. &lt;/p&gt;  &lt;p&gt;Note: I have still not used the most recent version of Deep Zoom Composer (0.9.000.3)....the one that was released along with Silverlight 2 Beta 2. This blog entry corresponds to the previous version of Deep Zoom Composer. I don't think it is available online. You can get it from &lt;a href="http://cid-f3df19389d2bed39.skydrive.live.com/self.aspx/Public/Deep%20Zoom%20Composernew.msi" target="_blank"&gt;here&lt;/a&gt;. I will blog on this update to the Deep Zoom Composer in my next post. &lt;/p&gt;  &lt;p&gt;On successful install and on starting up the screen looks like this&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/srinivas.preethi/SFN_DUd8fDI/AAAAAAAAAMU/EWjkER5Dn0c/s1600-h/dz41%5B3%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="248" alt="dz41" src="http://lh6.ggpht.com/srinivas.preethi/SFN_Ebm5RNI/AAAAAAAAAMY/e45Jg1tQnlM/dz41_thumb%5B1%5D.jpg?imgmax=800" width="327" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;For generating a Composition or a Collection, you need to go through 3 steps:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Import&lt;/li&gt;    &lt;li&gt;Compose&lt;/li&gt;    &lt;li&gt;Export&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Import stage involves adding as many images as you want. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/srinivas.preethi/SFN_EyKi9UI/AAAAAAAAAMc/heUZj5i1DXs/s1600-h/dzp21%5B3%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="247" alt="dzp21" src="http://lh3.ggpht.com/srinivas.preethi/SFN_F7k4yaI/AAAAAAAAAMg/qAWSnFAK1PQ/dzp21_thumb%5B1%5D.jpg?imgmax=800" width="349" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Compose stage is where you work on the art board. The images can be placed anywhere depending on the requirement. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/srinivas.preethi/SFN_GrJFv4I/AAAAAAAAAMk/keuApS4rSCw/s1600-h/dz22%5B6%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="256" alt="dz22" src="http://lh6.ggpht.com/srinivas.preethi/SFN_HZghxFI/AAAAAAAAAMo/ceBrMcIklps/dz22_thumb%5B2%5D.jpg?imgmax=800" width="361" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The last step involves exporting as a Collection or as a Composition.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/srinivas.preethi/SFN_IGVvtAI/AAAAAAAAAMs/upvKZrTTZ_w/s1600-h/dz23%5B3%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="256" alt="dz23" src="http://lh5.ggpht.com/srinivas.preethi/SFN_J18e2OI/AAAAAAAAAMw/MEw6qdFSP0Q/dz23_thumb%5B1%5D.jpg?imgmax=800" width="359" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Notice that Deep Zoom Composer allows you to choose between a Composition or a Collection. Also, it allows selection of Output type. Selecting &amp;quot;Export Images and Silverlight Project&amp;quot; generates a Visual Studio Project accompanying the Collection or Composition. We will deal with this in next blog entry. Selecting &amp;quot;Export Images&amp;quot; will generate the Output folder containing images along with the Composition or Collection. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/srinivas.preethi/SFN_P340DOI/AAAAAAAAAM0/ldFa9txcDXE/s1600-h/dz42%5B3%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="274" alt="dz42" src="http://lh6.ggpht.com/srinivas.preethi/SFN_QywfIkI/AAAAAAAAAM4/duCjHjL0eNY/dz42_thumb%5B1%5D.jpg?imgmax=800" width="360" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;There! Deep Zoom Image is now ready for use in a Silverlight project. If you had selected &amp;quot;Export Images&amp;quot;, then you will have to code explicitly for MouseWheel movement. Check out &lt;a href="http://www.hanselman.com/blog/CommentView.aspx?guid=41cc9e74-cf93-42d0-b7e7-c76330e501fe" target="_blank"&gt;Scott Hanselman's&lt;/a&gt; blog for code. &lt;/p&gt;  &lt;p&gt;You can get the Deep Zoom Composer User guide from &lt;a href="http://xpression.members.winisp.net/dzc/Deep%20Zoom%20Composer%20User%20Guide.pdf" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Not got the idea yet? Check out &lt;a href="http://memorabilia.hardrock.com/"&gt;http://memorabilia.hardrock.com/&lt;/a&gt; for a live example and then come back.&lt;/p&gt;  &lt;p&gt;Back?&amp;#160; Now this is technology right! Wow!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8997000225332972813-4221339124220477988?l=clevercancerian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clevercancerian.blogspot.com/feeds/4221339124220477988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8997000225332972813&amp;postID=4221339124220477988' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8997000225332972813/posts/default/4221339124220477988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8997000225332972813/posts/default/4221339124220477988'/><link rel='alternate' type='text/html' href='http://clevercancerian.blogspot.com/2008/06/understanding-deep-zoom-part-4.html' title='Understanding Deep Zoom - Part 4'/><author><name>Clever Cancerian</name><uri>http://www.blogger.com/profile/02167220157669251369</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/srinivas.preethi/SFN_Ebm5RNI/AAAAAAAAAMY/e45Jg1tQnlM/s72-c/dz41_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8997000225332972813.post-7998026493924766749</id><published>2008-06-14T00:34:00.001-07:00</published><updated>2008-06-14T00:34:06.751-07:00</updated><title type='text'>Understanding Deep Zoom - Part 3</title><content type='html'>&lt;p&gt;My previous post was on Collection and Composition. Let's try and understand the tool that generates a collection or a composition.&lt;/p&gt;  &lt;p&gt;Deep Zoom Composer has a tool named &lt;strong&gt;SparseImageTool.exe &lt;/strong&gt;that is used to produce the final composition or collection. It can be accessed from command prompt as &lt;/p&gt;  &lt;p&gt;C:\Program Files\Microsoft\Deep Zoom Composer\SparseImageTool.exe&lt;/p&gt;  &lt;p&gt;Giving the above command generates the usage pattern for the tool&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/srinivas.preethi/SFN0UbHna9I/AAAAAAAAAL0/plKNRtvc6Eo/s1600-h/deepzoomcmd%5B2%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="231" alt="deepzoomcmd" src="http://lh6.ggpht.com/srinivas.preethi/SFN0VTZlR9I/AAAAAAAAAL4/EgbnJzH2AXA/deepzoomcmd_thumb.jpg?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The basic usage pattern is SparseImageTool.exe &amp;lt;command&amp;gt; &amp;lt;SceneGraphFileName&amp;gt; [parameters]&lt;/p&gt;  &lt;p&gt;where command could be &lt;strong&gt;CreateCollection&lt;/strong&gt;&amp;#160; or &lt;strong&gt;CreateDeepZoomImage&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SceneGraphFileName&lt;/strong&gt; is path for the &lt;strong&gt;SceneGraphFile.xml file&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;[parameters]&lt;/strong&gt; refers to a list of other parameters that this application can take.&lt;/p&gt;  &lt;p&gt;The SceneGraphFile.xml file has information about the images (width, height, position as x,y co-ordinates), aspect ratio and ZOrder for all images. This is generated by Deep Zoom Composer prior to calling SparseImageTool.exe. &lt;/p&gt;  &lt;p&gt;Is it possible to access this tool programmatically? Well, let's try doing so. First, we need to create an XML file that looks similar to SceneGraphFile.xml that is generated by the Deep Zoom Composer. &lt;/p&gt;  &lt;p&gt;The XML file looks like this:&lt;/p&gt;  &lt;p&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;   &lt;br /&gt;&amp;lt;SceneGraph Version=&amp;quot;1&amp;quot;&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160; &amp;lt;AspectRatio&amp;gt;1&amp;lt;/AspectRatio&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160; &amp;lt;SceneNode&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;FileName&amp;gt;C:\Folder\Pic1.JPG&amp;lt;/FileName&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;x&amp;gt;0&amp;lt;/x&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;Width&amp;gt;1&amp;lt;/Width&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;Height&amp;gt;1&amp;lt;/Height&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;ZOrder&amp;gt;0&amp;lt;/ZOrder&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160; &amp;lt;/SceneNode&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160; &amp;lt;SceneNode&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;FileName&amp;gt;C:\Folder\Pic2.JPG&amp;lt;/FileName&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;x&amp;gt;0&amp;lt;/x&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;Width&amp;gt;1&amp;lt;/Width&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;Height&amp;gt;1&amp;lt;/Height&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;ZOrder&amp;gt;1&amp;lt;/ZOrder&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160; &amp;lt;/SceneNode&amp;gt;    &lt;br /&gt;&amp;lt;/SceneGraph&amp;gt; &lt;/p&gt;  &lt;p&gt;Now, let's create a C# Console Application (I think you can try doing the same using VB as well...but am not sure). &lt;/p&gt;  &lt;p&gt;using System;   &lt;br /&gt;using System.Collections.Generic;    &lt;br /&gt;using System.Linq;    &lt;br /&gt;using System.Text;    &lt;br /&gt;&lt;strong&gt;using System.Diagnostics;     &lt;br /&gt;&lt;/strong&gt;using System.Resources; &lt;/p&gt;  &lt;p&gt;namespace deepzoomscenario1   &lt;br /&gt;{    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; class Program    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; static void Main(string[] args)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Process p = new Process();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; p.StartInfo.FileName = &amp;quot;C:\\Program Files\\Microsoft\\Deep Zoom Composer\\SparseImageTool.exe&amp;quot;;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; p.StartInfo.Arguments = @&amp;quot;CreateCollection &amp;quot;&amp;quot;C:\\Users\\S.Preethi\\Desktop\\Folder\\test source.xml&amp;quot;&amp;quot; &amp;quot;&amp;quot;C:\\Users\\S.Preethi\\Desktop\\Folder\\result.sdc&amp;quot;&amp;quot; /XML&amp;quot;;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; p.StartInfo.CreateNoWindow = true;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; p.StartInfo.UseShellExecute = false;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; p.EnableRaisingEvents = true;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; p.Start();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; p.WaitForExit();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;}&lt;/p&gt;  &lt;p&gt;The folder contents before running the program is &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/srinivas.preethi/SFN0WCptQ_I/AAAAAAAAAL8/cStXvM08UzU/s1600-h/dz31%5B2%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="105" alt="dz31" src="http://lh6.ggpht.com/srinivas.preethi/SFN0X0xzUQI/AAAAAAAAAMA/neyS_pMSY2s/dz31_thumb.jpg?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Running the Console Application&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/srinivas.preethi/SFN0YnkWGwI/AAAAAAAAAME/apvwIC3fZpE/s1600-h/dz32%5B2%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="125" alt="dz32" src="http://lh4.ggpht.com/srinivas.preethi/SFN0ZY1DmgI/AAAAAAAAAMI/mCLBnhumdLk/dz32_thumb.jpg?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Final output&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/srinivas.preethi/SFN0ajJP1ZI/AAAAAAAAAMM/OPthlgBecDw/s1600-h/dz33%5B2%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="106" alt="dz33" src="http://lh3.ggpht.com/srinivas.preethi/SFN0bXBaOJI/AAAAAAAAAMQ/xFZCB652Qjg/dz33_thumb.jpg?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Notice that the result folder has an XML file &lt;strong&gt;items.xml. &lt;/strong&gt;The updated version allows generation of an XML file as against a Binary file in the previous version. We can now work with this XML file with ease. We can use this XML file to randomly position the images and do a lot of other things (Translation: More ideas coming soon).&lt;/p&gt;  &lt;p&gt;The above operation can be done from Command Prompt as well. &lt;/p&gt;  &lt;p&gt;SparseImageTool.exe CreateCollection &amp;quot;C:\Users\S.Preethi\Desktop\Folder\test source.xml&amp;quot; &amp;quot;C:\Users\S.Preethi\Desktop\Folder\result.sdc&amp;quot; /XML&lt;/p&gt;  &lt;p&gt;Note: The extension &lt;strong&gt;.sdc&lt;/strong&gt; has to be given correctly. Otherwise, the tool doesn't generate a collection. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8997000225332972813-7998026493924766749?l=clevercancerian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clevercancerian.blogspot.com/feeds/7998026493924766749/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8997000225332972813&amp;postID=7998026493924766749' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8997000225332972813/posts/default/7998026493924766749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8997000225332972813/posts/default/7998026493924766749'/><link rel='alternate' type='text/html' href='http://clevercancerian.blogspot.com/2008/06/understanding-deep-zoom-part-3.html' title='Understanding Deep Zoom - Part 3'/><author><name>Clever Cancerian</name><uri>http://www.blogger.com/profile/02167220157669251369</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/srinivas.preethi/SFN0VTZlR9I/AAAAAAAAAL4/EgbnJzH2AXA/s72-c/deepzoomcmd_thumb.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8997000225332972813.post-4052111456648863015</id><published>2008-06-14T00:01:00.001-07:00</published><updated>2008-06-14T00:01:46.581-07:00</updated><title type='text'>Understanding Deep Zoom - Part 2</title><content type='html'>&lt;p&gt;My previous post gave a more abstract view of what Deep Zoom Technology is all about. What is the back-end process? The main executable file is &lt;strong&gt;Mermaid.exe&lt;/strong&gt; which allows one to import images, compose and export a Composition or a Collection.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/srinivas.preethi/SFNsyZnt8nI/AAAAAAAAALk/8cLFwPvk3lM/s1600-h/deepzoomcomposer%5B2%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="189" alt="deepzoomcomposer" src="http://lh5.ggpht.com/srinivas.preethi/SFNs0sG7qHI/AAAAAAAAALo/TAzBdpnSoVQ/deepzoomcomposer_thumb.jpg?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;Now what is a Composition and a Collection? In case of a Composite, Deep Zoom Composer considers the entire art board as a single image irrespective of number of images that are placed and irrespective of their position. This single image is split into tiles until the smallest tile is of size 4kb. This enables a more optimised design. However, access to a single image is absent. Well, this was the case with the first version of Deep Zoom Composer. The next update allowed creation of a Collection. This allowed creation of an image tree for each image instead of flattening the entire composition into a single image. One can now control each image individually. The only possible drawback here would be the time consumption involved in case there are a number of images. &lt;/p&gt;  &lt;p&gt;The below image shows that Deep Zoom Composer can export both a collection and a composition based on choice. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/srinivas.preethi/SFNs1JlIThI/AAAAAAAAALs/2Up4Ya6kfJM/s1600-h/dz23%5B2%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="172" alt="dz23" src="http://lh6.ggpht.com/srinivas.preethi/SFNs2achRqI/AAAAAAAAALw/8h5aff6uiDc/dz23_thumb.jpg?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;As you can see from above, the updated version also provides code for arranging images in a Grid. You can see this if you choose &amp;quot;Import Images and Silverlight Project&amp;quot;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8997000225332972813-4052111456648863015?l=clevercancerian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clevercancerian.blogspot.com/feeds/4052111456648863015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8997000225332972813&amp;postID=4052111456648863015' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8997000225332972813/posts/default/4052111456648863015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8997000225332972813/posts/default/4052111456648863015'/><link rel='alternate' type='text/html' href='http://clevercancerian.blogspot.com/2008/06/understanding-deep-zoom-part-2.html' title='Understanding Deep Zoom - Part 2'/><author><name>Clever Cancerian</name><uri>http://www.blogger.com/profile/02167220157669251369</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/srinivas.preethi/SFNs0sG7qHI/AAAAAAAAALo/TAzBdpnSoVQ/s72-c/deepzoomcomposer_thumb.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8997000225332972813.post-3592543327487691764</id><published>2008-06-13T23:27:00.000-07:00</published><updated>2008-06-13T23:28:59.528-07:00</updated><title type='text'>Understanding Deep Zoom - Part 1</title><content type='html'>Nearly 4 months since Microsoft released Silverlight 2 Beta 1 and introduced the Deep Zoom Technology to the world. What is this anyway? The technology part in Deep Zoom is an incubation project at &lt;a href="http://labs.live.com/" target="_blank"&gt;Microsoft Live Labs&lt;/a&gt; code named &lt;a href="http://labs.live.com/Seadragon.aspx" target="_blank"&gt;Sea Dragon&lt;/a&gt;.&lt;br /&gt;The Sea Dragon technology allows smooth and quick viewing of any number of images on the Web with an amazing user experience. The image size can vary in gigapixels and one can zoom in and out without seeing a pixelated effect. Also, this technology doesn't depend on the number of images in a collection.The idea is to transmit only the required minimum subset of information that is needed at a particular time of viewing. As the viewing changes when we zoom, the information for the new view is transmitted and the technology prevents one from visualizing the change in views. SeaDragon keeps dividing the images in the collection into 4 tiles continuously until it reaches a point where the smallest tile is of size 4kb. It is these tiles that are being transmitted from the server as we zoom in and out.&lt;br /&gt;Check out &lt;a href="http://blogs.msdn.com/billcrow/archive/2006/11/20/photosynth.aspx" target="_blank"&gt;Bill Crow's&lt;/a&gt; blog on a detailed explanation as to how the technology works. Also, check out &lt;a href="http://weblogs.asp.net/jgalloway/archive/2008/03/21/why-silverlight-2-deep-zoom-really-is-something-new.aspx" target="_blank"&gt;John Galloway's&lt;/a&gt; blog on how Deep Zoom Technology is different from Google Maps or Zoomify.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8997000225332972813-3592543327487691764?l=clevercancerian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clevercancerian.blogspot.com/feeds/3592543327487691764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8997000225332972813&amp;postID=3592543327487691764' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8997000225332972813/posts/default/3592543327487691764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8997000225332972813/posts/default/3592543327487691764'/><link rel='alternate' type='text/html' href='http://clevercancerian.blogspot.com/2008/06/understanding-deep-zoom-part-1.html' title='Understanding Deep Zoom - Part 1'/><author><name>Clever Cancerian</name><uri>http://www.blogger.com/profile/02167220157669251369</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
