Ferry Meidianto | /* Living in .NET World */

Archive for October 2009

Oct/09

13

Working with Image.Source on Silverlight 3

Below are some options to work with Image.Source

1. Embedded in the .xap file as Content

image

image

Note that the Build Action is “Content”

XAML

<Image x:Name="imgContent" Source="/Assets/Images/2.jpg" />

Code (C#)

imgContent.Source = new BitmapImage(new Uri("/Assets/Images/2.jpg", UriKind.Relative));

2. Embedded in the .xap file as Resource

image

image

Note that the Build Action is “Resource”

XAML

<Image x:Name="imgResource" Source="/SilverlightApplication1;component/Assets/Images/1.jpg" />

Code (C#)

imgResource.Source = new BitmapImage(new Uri("/SilverlightApplication1;component/Assets/Images/1.jpg", UriKind.Relative));

3. Absolute URL

The file is stored anywhere in the internet

XAML

<Image x:Name="imgAbsolute" Source="http://i3.silverlight.net/avatar/meidianto.jpg?cdn_id=10092009" />

Code (C#)

imgAbsolute.Source = new BitmapImage(new Uri("http://i3.silverlight.net/avatar/meidianto.jpg?cdn_id=10092009", UriKind.Absolute));

4. Stored inside the web application/website

Note: in this example the image is stored in the same folder as the .xap file

image

XAML

<Image x:Name="imgServer" Source="/3.jpg" />

Code (C#)

imgServer.Source = new BitmapImage(new Uri("/3.jpg", UriKind.Relative));

5. Async Network Call

Note: in this example the image is stored in the same folder as the .xap file as above

Code (C#)

private void LoadImage()
{
    WebClient client = new WebClient();
    client.OpenReadCompleted += new OpenReadCompletedEventHandler(client_OpenReadCompleted);
    client.OpenReadAsync(new Uri("3.jpg", UriKind.Relative));
}

void client_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
    if (e.Error == null
        && e.Result != null)
    {
        BitmapImage img = new BitmapImage();
        img.SetSource(e.Result);

        imgServer.Source = img;
    }
}

· ·

Theme Design by devolux.nh2.me

Disclaimer

All postings/content on this blog are provided "AS IS" with no warranties, and confer no rights. All entries in this blog are my opinion and don't necessarily reflect the opinion of my employer or sponsors. The content on this site is licensed under a Creative Commons Attribution By license.
To top