How to Load Images from a Stream

Due to obvious security reasons Silverlight cannot directly load files from a client box. However, in response to an event like a button Silverlight can load files through the OpenFileDialog where the client gets to choose what file to load.

The following sample shows you how to load a PNG file once a use clicks on a button. In the code below, “MyImage” is an Image control that I declared in my XAML. BitmapImage can be found in System.Windows.Media.Imaging.

private void Button_Click_Load_Image(object sender, RoutedEventArgs e)
{
    OpenFileDialog ofd = new OpenFileDialog();
    ofd.Filter = "PNG Files (*.png;*.png)|*.png;*.png | All Files (*.*)|*.*";
    ofd.FilterIndex = 1;
    
    if (true == ofd.ShowDialog())
    {
        System.IO.Stream stream = ofd.File.OpenRead();
        BitmapImage bi = new BitmapImage();
        bi.SetSource(stream);
        MyImage.Source = bi;
        stream.Close();
    }
}
Thank you
posted @ 2009-09-25 17:54  昕友软件开发  阅读(287)  评论(0编辑  收藏  举报
欢迎访问我的开源项目:xyIM企业即时通讯