WPF如何将数据库中的二进制图片数据显示在Image控件上


首先在xaml文件里定义一个Image控件,取名为img

MemoryStream stream = new MemoryStream(获得的数据库对象);

BitMapImage bmp = new BitMapImage();

bmp.BeginInit();//初始化

bmp.StreamSource = stream;//设置源

bmp.EndInit();//初始化结束

img.Source = bmp;//设置图像Source

很多人用这个方法都没有初始化BitMapImage ,这样将会导致错误,并无法正常获取图片数据。

public class emp

{

  public byte[] Photo{set;get;}

}

xaml中的代码

 private void btnChoosePhoto_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();//打开选择文件窗口
            ofd.Filter = "jpg|*.jpg|png|*.png";//过滤器
            if (ofd.ShowDialog() == true)
            {
                string fileName = ofd.FileName;//获得文件的完整路径
                emp.Photo   = File.ReadAllBytes(fileName);//把图像的二进制数据存储到emp的Photo属性中
                img.Source = new BitmapImage(new Uri(fileName));//将图片显示到Image控件上
            }
        }


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM