Gestione immagini in Silverlight 2.0

di Alessio Leoncini, in Silverlight 2.0,

In Silverlight 2.0 sono disponibili molteplici oggetti per renderizzare immagini, in ognuno di essi è possibile utilizzare diverse modalità per referenziare un file bitmap.

E' possibile specificare semplicemente il nome del file o un path:

<Image Source="small_nebula.png"></Image>
<Image Source="Images/aspitalia_2008launch.png"></Image>

Oltre che nel markup un'immagine può essere referenziata programmaticamente:

Uri uri = new Uri("small_nebula.png", UriKind.Relative);
BitmapImage img = new BitmapImage(uri);
image00.Source = img;

Nei precedenti esempi i file e le cartelle dovranno trovarsi nella stessa directory del file XAP dell'applicazione, solitamente all'interno di ClientBin.

Per semplificare il deploy dei progetti è possibile includere le immagini direttamente nel file XAP del progetto:

<Image Source="/silverlightitalia_linkbar.png"></Image>
<Image Source="/Images/silverlightitalia_linkbar.png"></Image>Uri uri = new Uri("/silverlightitalia_linkbar.png", UriKind.Relative);
BitmapImage img = new BitmapImage(uri);
image00.Source = img;

Per includere automaticamente i file bitmap nello XAP è necessario utilizzare la maschera proprietà dei file in Visual Studio specificando "BuildAction" a "Content" e "Copy to Output Directory" a "Do not copy".

Le immagini possono anche essere compilate all'interno di specifiche Silverlight ClassLibrary (dll) specificando le proprietà dei file in Visual Studio "BuildAction" a "Resource" e "Copy to Output Directory" a "Do not copy".

<Image Source="/ASPItalia.EasyShop.ImageLibrary;component/poweredby.png"></Image>
<Image Source="/ASPItalia.EasyShop.ImageLibrary;component/Images/silverlightitalia_linkbar.png"></Image>Uri uri = new Uri("/ASPItalia.EasyShop.ImageLibrary;component/poweredby.png", UriKind.Relative);
BitmapImage img = new BitmapImage(uri);
image00.Source = img;

In fine è possibile referenziare immagini come risorse remote specificando l'URL completo:

<Image Source="http://localhost:33073/aspitalia_2008launch.png"></Image>Uri uri = new Uri("http://localhost:33073/aspitalia_2008launch.png", UriKind.Absolute);
BitmapImage img = new BitmapImage(uri);
image00.Source = img;

In questo caso l'URL può essere il sito web stesso che ospita il progetto Silverlight per mantenere una cerca comodità di gestione delle immagini.
Qualora invece le risorse siano esposte da altri domini è necessario che siano rispettati i requisiti di sicurezza e cioè che l'hoster consenta l'accesso a tali immagini configurando oculatamente il file clientaccesspolicy.xml.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

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

Approfondimenti

Nessuna risorsa collegata

I più letti di oggi