为了账号安全,请及时绑定邮箱和手机立即绑定

将BitmapImage转换为Bitmap,反之亦然

将BitmapImage转换为Bitmap,反之亦然

米脂 2019-10-18 09:49:09
我在C#中有BitmapImage。我需要对图像进行操作。例如灰度,在图像上添加文本等。我在stackoverflow中找到了用于灰度的函数,该函数接受位图并返回位图。所以我需要将BitmapImage转换为Bitmap,进行操作并转换回去。我怎样才能做到这一点?这是最好的方法吗?
查看完整描述

3 回答

?
catspeake

TA贡献1111条经验 获得超0个赞

这是用于将位图转换为BitmapImage的扩展方法。


    public static BitmapImage ToBitmapImage(this Bitmap bitmap)

    {

        using (var memory = new MemoryStream())

        {

            bitmap.Save(memory, ImageFormat.Png);

            memory.Position = 0;


            var bitmapImage = new BitmapImage();

            bitmapImage.BeginInit();

            bitmapImage.StreamSource = memory;

            bitmapImage.CacheOption = BitmapCacheOption.OnLoad;

            bitmapImage.EndInit();

            bitmapImage.Freeze();


            return bitmapImage;

        }

    }


查看完整回答
反对 回复 2019-10-18
  • 3 回答
  • 0 关注
  • 2495 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信