Deepzoom in Silverlight 2.0
di Marco De Sanctis, in Silverlight 2.0, 18 novembre 2008
Anche in questo caso, prima di potersi cimentare con queste grandezze, è necessario in piccolo excursus sul sistema di coordinate utilizzato, che diventa un po' più complesso di quello visto in precedenza. Ogni immagine, infatti, possiede un ViewPort indipendente, del quale viene fissata un'origine e una dimensione, secondo un sistema di coordinate normalizzato rispetto alla larghezza dell'immagine stessa (e quindi in generale differente per ogni elemento della scena) e alla larghezza del ViewPort principale. In pratica:
- Quando SubImage.ViewPortWidth vale 1, la larghezza dell'immagine è la medesima di quella del ViewPort principale. Se poi anche quest'ultima vale 1, l'immagine occupa per intero l'area visibile.
- Quando SubImage.ViewPortWidth vale 2, la larghezza dell'immagine è la metà di quella del ViewPort principale. Quindi in una situazione in cui quest'ultima vale 1 (nessuno zoom), l'immagine risulta rimpicciolita al 50%.
- Quando SubImage.ViewPortWidth vale 0.5, la larghezza dell'immagine è il doppio di quella del ViewPort principale. Quindi, se quest'ultima vale 1, l'immagine risulta ingrandita del 200%.

In realtà, nonostante a prima vista possa sembrare il contrario, il tutto è molto comodo perché consente di gestire la visualizzazione di un oggetto prescindendo completamente dalle sue dimensioni fisiche: se ad esempio si impostano
ViewPortOrigin = (-1; 0)
ViewPortWidth = 2
il risultato sarà sempre uguale a quello della figura in basso, sia nel caso in cui l'immagine originale sia larga 2000px che con nel caso in cui sia solo di 100px

Attenzione: Questo articolo contiene un allegato
Contenuti dell'articolo
Sullo stesso argomento
-
Applicazioni Silverlight con il cloud computing su Windows Azure
-
Aggiungere interattività al controllo Chart di Silverlight 3.0
-
Realizzare un sito completo in Silverlight: una galleria fotografica
-
Supporto audio e video in Silverlight 3.0
-
Effetti speciali sulle immagini in Silverlight 3.0
-
Anteprima di Expression Blend 3.0
-
Le novità di Silverlight 3.0 beta 1
-
Realizzare un menu riutilizzabile utilizzando DataTemplate e DataBinding
-
Un tocco di stile alle applicazioni Silverlight: style e template
-
Multithreading in Silverlight 2.0

















Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.