Silverlight:动态读取图片或者视频

下面这个小例子演示了如何在Silverlight(或者WPF)中动态读取图片或者视频

 

页面部分

<UserControl x:Class="SilverlightApplication1.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    mc:Ignorable="d" d:DesignWidth="640" d:DesignHeight="480">
    <StackPanel Name="pl" Orientation="Horizontal" >
        <Image Width="100" Height="100" Name="pic"></Image>
        <Button Name="bt"  Width="100" Height="100" Click="Button_Click"></Button>
        <MediaElement Name="video" Width="300" Height="300"></MediaElement>
        <Button Name="bt2" Width="100" Height="100" Click="Button_Click_1"></Button>
    </StackPanel>
</UserControl>
 
代码部分
using System.Windows;
using System.Windows.Controls;
using System.IO;
using System.Windows.Media.Imaging;


namespace SilverlightApplication1
{
    public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();

        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "JPG File|*.JPG";
            if ((bool)ofd.ShowDialog())
            {
                FileStream fs = ofd.File.OpenRead();
                BitmapImage image = new BitmapImage();
                image.SetSource(fs);
                pic.Source = image;
            }
        }

        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "Video File|*.wmv";
            if ((bool)ofd.ShowDialog())
            {
                video.SetSource(ofd.File.OpenRead());
            }
        }
    }
}
效果图

image

posted @ 2010-01-20 08:57  陈希章  阅读(1067)  评论(0编辑  收藏  举报