WPF中的Image

来源:互联网 发布:淘宝怎么买三唑仑 编辑:程序博客网 时间:2024/04/29 21:10

在给Image控件设置图像源的时侯发现,可以在XMAL中设置,也可以在代码中(Image.source=new BitmapImage(Uri uri)),

有时候我们要得到的图形资源为Bitmap或者Image,他们在System.Drawing名称空间下面,不能直接和强制转换。
1.Bitmap转换为BitmapImage
/// <summary>        /// 处于不同名称空间        /// Bitmap向BitmapImage转换        /// </summary>        /// <param name="bitmap">要更换的bitmap</param>        /// <returns></returns>        private BitmapImage BitmapToBitmapImage(System.Drawing.Bitmap bitmap)        {            BitmapImage bitmapimage = new BitmapImage();            using(MemoryStream ms=new MemoryStream())                 //using结束释放掉资源            {                try                {                    //将bitmap保存到ms流中,以他自己的格式                    bitmap.Save(ms, bitmap.RawFormat);                    //初始化bitmapimage                    bitmapimage.BeginInit();                    bitmapimage.StreamSource = ms;                    bitmapimage.CacheOption = BitmapCacheOption.OnLoad;                    bitmapimage.EndInit();                    //无法更改                    bitmapimage.Freeze();                }                catch (Exception e)                {                    MessageBox.Show("读取错误!");                }            }            return bitmapimage;        }
将bitmap转化为流作为bitmapimage的源。
2.将bitmapimage转换为bitmap
暂时没有找到有效的解决方法。

0 0