添加图片 image和byte[] 的相互转换

来源:互联网 发布:淘宝指数在哪里打开 编辑:程序博客网 时间:2024/06/16 08:16

SilverLight中
1.添加图片并转换成byte[]数组

using System.IO;using System.Linq;using System.Windows.Media.Imaging;public void Browse_Click(object sender, RoutedEventArgs e)        {            OpenFileDialog dlg = new OpenFileDialog();            dlg.Filter = "图片|*.jpg;*.png;*.gif;*.bmp;*.jpeg";            Nullable<bool> result = dlg.ShowDialog();            if (result == true)            {                string filename = dlg.File.Name;                ImgText = filename;                using (FileStream textStream = dlg.File.OpenRead())                {                    //创建字节流数组                    byte[] bytes = new byte[textStream.Length];                    //读取相关数据                    textStream.Read(bytes, 0, Convert.ToInt32(textStream.Length));                    Img = bytes;                }            }        }

2.将byte[]数据转换成图片 在image控件中显示出来

   public void getImage(byte[] img)        {            Stream ms = new MemoryStream(img);            BitmapImage bitmap = new BitmapImage();            bitmap.SetSource(ms);            ImgSource = bitmap;        }

WPF中

//添加图片转换为byte[]  public void Browse_Click(object sender, RoutedEventArgs e)        {            Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();            dlg.Filter = "图片|*.jpg;*.png;*.gif;*.bmp;*.jpeg";            dlg.Multiselect = false;            if (dlg.ShowDialog() == true)            {                string filename = dlg.FileName;                ImgText = filename;                using (Stream textStream = dlg.OpenFile())                {                    //创建字节流数组                    byte[] bytes = new byte[textStream.Length];                    //读取相关数据                    textStream.Read(bytes, 0, Convert.ToInt32(textStream.Length));                    Dug_Img = bytes;                }            }        }
//image转换为byte[] public void showImg(object sender, RoutedEventArgs e, object view)        {            try            {                ProjectTestProperty dug = (ProjectTestProperty)view;                byte[] img = dug.Dug_Img;                if (img != null)                {                    MemoryStream stream = new MemoryStream(img);                    BitmapImage image = new BitmapImage();                    image.BeginInit();                    image.StreamSource = stream;                    image.EndInit();                    Project.SourceImg = image;                    ImgSource = Project.SourceImg;                    WinDow.ImageWindow = new Views.ProjectManagement.BugView.ImageView();                    WinDow.ImageWindow.Show();                }            }            catch            {                MessageBox.Show("打开图片失败", "Error");                return;            }        }
0 0
原创粉丝点击