WPF中的Image

本文介绍了在WPF中如何为Image控件设置图像源,包括通过XML和代码方式(如Image.source=new BitmapImage(Uri uri))。讨论了在不同场景下选择不同设置方法的适用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在给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
暂时没有找到有效的解决方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值