Deepzoom in Silverlight 2.0

9 pagine in totale: <<Indietro 1 2 [3] 4 5 6 7 8 9 Avanti >>

Il sistema di coordinate di MultiScaleImage

MultiScaleImage espone un set di API piuttosto ridotto e semplice da utilizzare per pilotarne la visualizzazione, anche se ciò richiede di metabolizzarne il sistema di coordinate che è forse l'aspetto più ostico di questa tecnologia, tanto da meritare un paragrafo a parte.

Una scena è un'immagine rettangolare contraddistinta da una larghezza e da un'altezza o, meglio, da una larghezza e da un aspect ratio, inteso come rapporto tra la larghezza e l'altezza; tali grandezze sono poi normalizzate rispetto alla larghezza della scena e pertanto, in Deep Zoom, ogni scena avrà sempre una larghezza pari a 1 e un'altezza pari a 1/Aspect Ratio:

MultiScaleImage visualizza la scena all'interno di un oggetto chiamato ViewPort, la cui larghezza è esposta dalla proprietà ViewPortWidth ed è anch'essa normalizzata rispetto alla larghezza della scena stessa. L'aspetto interessante è che questa stessa proprietà può essere utilizzata anche per controllare il livello di zoom, poiché l'uno è l'inverso dell'altra:

  • Quando ViewPortWidth è pari a 1, il ViewPort ha la stessa larghezza dell'immagine (zoom del 100%)
  • Quando ViewPortWidth vale 0,5 ha una larghezza pari alla metà dell'immagine, ma dato che le dimensioni del ViewPort sono costanti, quest'ultima risulta ingrandita del doppio (e quindi si ha uno zoom del 200%)
  • Quando ViewPortWidth vale 2, il ViewPort ha una larghezza pari al doppio dell'immagine, che viene perciò rimpicciolita della metà (zoom del 50%)

I punti all'interno del ViewPort possono essere identificati tramite un sistema di coordinate "logico", che hanno come origine il punto (0; 0) posto nell'angolo in alto a sinistra della scena (attenzione: della scena, e non del controllo MultiScaleImage) e sono normalizzate rispetto alla sua larghezza, il che vuol dire che, ad esempio, il punto (1; 0) è posizionato nell'angolo in alto a destra della scena, mentre i punti sul lato inferiore hanno tutti un'ordinata pari a 1 / AspectRatio.

Lo stesso sistema di assi è utilizzato per specificare le coordinate del punto ViewPortOrigin, altra proprietà di MultiScaleImage, che indica la posizione dell'angolo in alto a sinistra del ViewPort rispetto allo stesso vertice della scena.

9 pagine in totale: <<Indietro 1 2 [3] 4 5 6 7 8 9 Avanti >>

Attenzione: Questo articolo contiene un allegato

Contenuti dell'articolo

Commenti

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.



Segnala su: Facebook MSDN Social Twitter Segnalo Wikio Diggita Technorati Stumbleupon Google Yahoo FriendFeed Delicious Furl

TUTORIALS
TOP TEN ARTICOLI
ARTICOLI VIA E-EMAIL

Iscriviti alla nostra newsletter nuoviarticoli per ricevere via e-mail le notifiche!

MEDIA
IN EVIDENZA
MISC