DeepZoom = MultiscaleImage
10 febbraio 2010
Silverlight dalla versione 3 ha introdotto la teconologia DeepZoom, che, permette du creare effetti davvero spettacolari ricalcolando dinamicamente la dimensione delle immagini in modo tale da poter effettuare la giusta risoluzione delle immagini per diversi livelli di dettaglio.
DeepZoom viene creato mediante il tool gratuito DeepZoom Composer
La prima cosa che dobbiamo fare in un progetto silverlight che deve utilizzare la customizzazione di un oggetto DZ è quella di inserire il tag
<MultiScaleImage x:Name=”myDzObj” Source"=”dzOutput.xml” />
Tale output è ottenuto mediante il composer di DeepZoom a questo punto possiamo facilmente aggiungere un po ‘ di interativià agendo sugli eventi, quindi per esempio aggiungiamo MouseEnter e MouseLeave
<MultiScaleImage x:Name=”myDzObj” Source"=”dzOutput.xml” MouseEnter="DeepZoomObject_MouseEnter" MouseLeave="DeepZoomObject_MouseLeave"/>
Nel code behind possimo facilmente andare a gestire i due eventi
myDzObj.ZoomAboutLogicalPoint(3, .5, .5);
myDzObj.ZoomAboutLogicalPoint(.3, .5, .5);
in tal modo eseguendo il run possiamo vedere che l’immagine ingrandisce e rimpicciolisce con l’hover del mouse.
Attualmente mi sarebbe piaciuto incorporare le funzionalità DZ in un applicazione WPF ma non sono suportate e quindi è necessario incorpoare Silverlight nella mia applicazione WPF, speriamo che in futuro sia disponibile direttamente questa feature.