Inicio > DeepZoom, Silverlight > Deep Zoom

Deep Zoom

Thursday, 23 de July de 2009

Deep Zoom es una característica de Silverlight … el cual utiliza los objetos XAML o clases MultiScaleImage o MultiScaleSubImage (ya hablaremos de como utilizarlos en posteriores Post) 

Deep Zoom puede ser utilizado para diferentes tipos de aplicaciones … pero de momento esta reconocido principalmente para 3 tipos de escenarios:

  • Exploración de imágenes de gran tamaño y de alta resolución. Siendo este el clásico ejemplo de zoom.
  • Fotografías 3-D. Refiriendose a un conjunto o colección de imágenes que componen una imágen de 360 grados.
  • Mosaicos publicitarios. A través de un collage de imágenes que en conjunto conforman una unidad … se aplica la técnica de zoom para acceder a los detalles de la publicidad. Una variación a este ejemplo son los photomosaicos.

Partiendo de estos 3 escenarios … podemos aplicarlo en diferentes soluciones empresariales como ejemplo: Industria automotriz … Inmobiliario … Ventas por catálogo … digitalización de documentos .. incluyendo la industria editorial … etc.

Funcionamiento de Deep Zoom

La escencia de la arquitectura de Deep Zoom es la separación de una imágen (o una composición de imágenes) en pequeños bloques o mosaicos … y a partir de este conjunto de imágenes  se crea una pirámide de mosaicos de menor resolución para la composición original.

La pirámide de imágenes
Una pirámide de imágenes dispone una imagen en un mosaico de imágenes de 256 x 256 píxeles en formato JPG o PNG (el tamaño de la imagen de ejemplo es arbitrario y puede modificarse) y almacena versiones de la imagen de menor resolución también en mosaicos. Cada mosaico se almacena en un archivo independiente y cada nivel de la pirámide se almacena en carpetas independientes. En la imagen siguiente se muestra de forma esquemática el funcionamiento de la pirámide de imágenes. La imagen propiamente dicha está disponible a resolución completa en la parte inferior de la pirámide (vea la imagen a continuación), y las versiones de menor resolución, por debajo de los 4 x 4 píxeles, se almacenan junto con la imagen a resolución completa. Las imágenes de cada nivel de la pirámide se almacenan en mosaicos de 256 x 256 píxeles (se indican mediante líneas blancas en las imágenes). Esto permite que Deep Zoom capture únicamente aquellos mosaicos que son necesarios para el tamaño actual de la imagen en pantalla, en lugar de descargar la imagen completa. Por ejemplo, si acerca una imagen para ver únicamente su parte central resaltada, Deep Zoom cargará únicamente los mosaicos resaltados, y no la imagen completa de 1024 x 1024.
fuente: MSDN ( definitivamente la explicación de La Pirámide lo explicaron mejor de como yo lo hubiera hecho :) )

Piramide

collage

Foto-Zoom

photozoom

Generar de manera manual los mosaicos de imágenes puede llegar a ser demasiado tedioso … y demasiado complicado. Afortunadamente se cuenta con la herramienta Deep Zoom Composer … que además incluye una serie de caracteristicas adicionales … como la generación del esquema en formato XML que se utiliza para accesar a las imágenes de la pirámide … también puede generar nuestro proyecto en listo para funcionar en silvelight … etc.

Para la generación de modelos tridimensionales de 360 grados … tenemos la herramienta de Photosynth … muy útil para la exploración de escenarios o panorámicas.

Conclusión

Definitivamente el uso de Deep Zoom es muy atractivo para la generación de páginas o soluciones de alto impacto visual … y por supuesto es muy interesante las posibilidades que ofrece para llevar esta funcionalidad mas allá de un simple elemento visual .. si no además … como un elemento o recurso funcional.

En nuestros siguientes Post hablaremos del uso de las herramientas: Deep Zoom Composer y Photosynth … así como la generación de proyectos en combinación con Visual Studio 2008. Adelanto que el ejemplo que actualmente esta publicado en Ria4NET.com esta desarrollado en Composer.

dansalinas DeepZoom, Silverlight ,

  1. Miguel Landeros Trejo
    Thursday, 30 de July de 2009 a las 01:32 | #1

    Wow! Había escuchado sobre silverlight, que era la competencia de flash. Pero en aquel tiempo no era tan robusto como ahora. El ejemplo que muestra en ria4net está estupendo. Me gustaría explotar ésta técnica en otras aplicaciones.

    Tus blogs son muy interesantes, podrías agregar más sobre técnicas de programación en .NET 2008, algo así como Best Practice ?

  1. Sin trackbacks aún.