pontoNETpt
A comunidade PontoNetPT está direccionada a todos os programadores que trabalhem com a plataforma .NET.
Simple application for Silverlight's Deep Zoom (MultiScaleImage control)

(PT)

À algumas semanas atrás, o meu primo desafiou-me a fazer um pequeno facelift ao site da empresa onde ele trabalha.

Não sendo propriamente uma pessoa com uma veia artística muito forte (zero...), centrei o facelift na componente tecnológica, e aproveitei para experimentar algumas tecnologias, APIs e bibliotecas que nunca tinha utilizado, tais como flash, script.aculo.us, google maps (2D e 3D) e, claro está, Silverlight 2.0.

Ora uma das novidades em Silverlight 2.0, é a integração do trabalho realizado pela equipa do SeaDragon, sob a forma do controlo MultiScaleImage.

Para explorar este controlo, adquiri as imagens com o scanner, a 800dpi, cortei as imagens de forma a ficarem todas da mesma dimensão, adicionei uma marca de água (requisito do "cliente" :)), e importei as imagens para o DeepZoom Composer. Como queria ficar com a hipótese de ordenar as imagens e ter controlo sobre cada uma delas individualmente, criei uma colecção no DeepZoom composer. Desta forma, cada imagem passa a ser representada por uma instância de MultiScaleSubImage, e podem ser manipuladas individualmente.

Durante o desenvolvimento desta demo, deparei-me com diversas questões e problemas, que eventualmente apresentarei à medida que for tendo disponibilidade.

Aqui fica um exemplo de como Silverlight abre portas para um conjunto de soluções muito interessantes, com pouco esforço (relativamente ao que seria normal). Para ficarem com uma ideia da simplicidade do desenvolvimento desta demo, demorei mais ou menos o mesmo tempo a preparar a colecção de imagens (aquisição, corte, marcas de água, e finalmente, composição no DeepZoom Composer) que a desenvolver a aplicação em Silverlight...

A colecção de imagens tem, no total, cerca de 600 MB (a versão após tratamento por parte do DeepZoom composer, com os diversos tiles nos diferentes níveis de zoom).

Deixo só uma nota final para a possibilidade de efectuar Debug das aplicações Silverlight 2.0, quando a aplicação está a correr no browser, que para mim, é fantástico.

É até possível fazer debug de aplicações Silverlight quando o browser em utilização é o Firefox, por exemplo. Depois disto, quando fui fazer as partes em Flash, fiquei mesmo com saudades desta capacidade...

(EN)

A few weeks ago, my cousin, challenged me to do a small facelift to the site of the company he works on.

Not being someone into design (no, not really...), I tried to compensate it on the technological side, and so I used this opportunity to try some Web Technologies, APIs and libraries that I have never used before, such as  flash, script.aculo.us, google maps (2D e 3D) and, finally, the motif of this post, Silverlight 2.0.

One of the new things in Silverlight 2.0, that I explored is the integration of SeaDragon's Team work, that is working under the hood of the new MultiScaleImage control.

To explore this control, I acquired the images with the scanner, at 800dpi, cut the images such that all ended up the same size, added some watermark (as required by the "customer" :)), and imported the images to DeepZoom Composer. Because I wanted to be able to order and manipulate each of the images individually, I've created a DeepZoom collection. This way, each image gets represented in Silverlight, as an instance of the type MultiScaleSubImage, and we can deal with each one of them individually.

During the development of this demo, I've encountered several issues and problems, and I will eventually show the solution to some of them, as I get some spare time.

So here it goes, an example of how you can use Silverlight to a set of very interesting solutions, with relative low effort. To get an idea of the effort involved in the development of this demo, I took more or less the same time to prepare the image collection (including acquisition, cut, watermarking, and composition in DeepZoom Composer) and develop the Silverlight application.

The image collection has, in it's final state (as processed by DeepZoom Composer, and deployed to the server, including the various tiles at different zoom levels), around some 600 MB.

Just a final note on Silverlight 2.0 application's Debug support while it is working in the Browser, that just RULES!! :)

You can actually debug a Silverlight Application even if it is running on Firefox. Man, I missed this a lot when I made the flash controls of the site...


Posted 15-6-2008 21:31 por Ricardo Portela

Add a Comment

(requerido)  
(opcional)
(requerido)  
Remember Me?
If you can't read this number refresh your screen
Enter the numbers above:  
Powered by Community Server (Commercial Edition), by Telligent Systems