En cualquier momento, al crear una aplicación Silverlight, es inminente el uso de imágenes, ya sea como íconos, fondos, controles o demostrativas, el uso es lo de menos, su implementación es lo que nos importará en este post.
Hay tres posibles opciones para poder vincular una imagen ya elaborada (ponle el formato que gustes .jpg o .png) en tu solución, cada una tiene sus ventajas, como siempre no hay una mejor opción, simplemente la mas adecuada.
Imágenes embebidas en el empaquetado
Aquí aplican las imágenes que se encuentran comprimidas en el empaquetado de tu aplicación.
La ventaja de este tipo de imágenes es que al momento de cargar la aplicación estás aparecen de forma inmediata, lo malo es que obviamente incrementan el tamaño del empaquetado y además de que esto se refleja directamente en el tiempo de carga.
Vía XAML
<Image Source="Imagenes/superElectPortada.jpg" /> |
Vía C#
imgUno.Source = new BitmapImage(new Uri("Imagenes/superElectPortada.jpg", UriKind.Relative)); |
Aquí hay algo bien importante, checa que en Visual Studio al darle click derecho en las propiedades veas que en la opción de “Build Action” esté seleccionada la propiedad de “Resource” que es la predeterminada, pero nada pierdes con considerarla.
Aclaración: El tipo «Resource» NO va embebido en el paquete XAP, sino en el ensamblado generado al momento de compilar la aplicación
Imágenes dentro de la misma carpeta y fuera del XAP
Aquí aplican las imágenes que se encuentran dentro del mismo directorio que el archivo XAP.
La ventaja de este tipo de imágenes es que minimizan el tamaño del empaquetado al máximo, pero tardan un poco en aparecer después de que la aplicación ha sido cargada, dando una apariencia posiblemente vacía al inicio de la aplicación.
Vía XAML
<Image Source="/Superman2.jpg"/> |
Vía C#
imgDos.Source = new BitmapImage(new Uri("/Superman2.jpg", UriKind.Relative)); |
Referencia a imágenes publicadas
Aquí aplican las imágenes publicadas en internet (ya sean tuyas o de terceros).
La ventaja de este tipo de imágenes es que no consumen absolutamente nada de espacio ni en nuestro empaquetado ni en disco, obviamente, si no nos pertenecen nos podemos meter en broncas de derechos así como al riesgo de que la cambien, la renombren o de plano la quiten.
Vía XAML
<Image Source="http://superman.marianobayona.com/az33logo.jpg" /> |
Vía C#
imgTres.Source = new BitmapImage(new Uri("http://superman.marianobayona.com/az33logo.jpg", UriKind.Absolute)); |