wpf中把base64字符串(把图片转成字节数组后再转成字符串的结果)还原为图片进行显示

5 篇文章 0 订阅

wpf中显示图片使用的控件是Image

直接上代码:

public class ConvertClass
    {
        public ImageSource ConvertToImageSource(string base64String)
        {
            if (string.IsNullOrEmpty(base64String))
                return null;
            byte[] arr = Convert.FromBase64String(base64String);

            System.IO.MemoryStream ms = new System.IO.MemoryStream(arr);
            ImageSourceConverter imageSourceConverter = new ImageSourceConverter();
            ImageSource source = null;
            source = (ImageSource)imageSourceConverter.ConvertFrom(ms);


            return source;
        }

    }

调用:

Image控件.Source=new ConvertClass().ConvertToImageSource("图片对应的base64格式的字符串")

其实把字符串形式的二维码转换回Image图片格式的二维码也是这样的套路,也是使用MemoryStream进行转换

 好了,本文到此结束,如果本文对你有帮助,资助2毛钱作为鼓励呗,穷逼一个,就当筹个网费吧

如果你不想使用将 WPF 用户控件换为字符串的方式来实现复制粘贴功能,可以考虑以下方法: 1. 使用 XamlWriter 和 XamlReader 方法 当需要复制一个用户控件时,可以使用 XamlWriter 将其换为 XAML 字符串,然后将该字符串保存到 DataObject 。当你需要粘贴该用户控件时,可以使用 XamlReader 将该 XAML 字符串换为一个新的用户控件,并将其插入到 UI 。 下面是示例代码: ```csharp // 复制控件 string xamlString = XamlWriter.Save(myControl); DataObject dataObject = new DataObject(); dataObject.SetData("MyControl", xamlString); Clipboard.SetDataObject(dataObject); // 粘贴控件 if (Clipboard.ContainsData("MyControl")) { string xamlString = Clipboard.GetData("MyControl") as string; StringReader stringReader = new StringReader(xamlString); XmlReader xmlReader = XmlReader.Create(stringReader); UIElement newControl = (UIElement)XamlReader.Load(xmlReader); myCanvas.Children.Add(newControl); } ``` 2. 使用 DataObject 和 DataFormats.Xaml 当需要复制一个用户控件时,可以将该控件保存到 DataObject ,并设置 DataFormats.Xaml 格式。当你需要粘贴该用户控件时,可以从 DataObject 获取该控件,并将其插入到 UI 。 下面是示例代码: ```csharp // 复制控件 DataObject dataObject = new DataObject(); dataObject.SetData(DataFormats.Xaml, myControl); Clipboard.SetDataObject(dataObject); // 粘贴控件 if (Clipboard.ContainsData(DataFormats.Xaml)) { UIElement newControl = Clipboard.GetData(DataFormats.Xaml) as UIElement; myCanvas.Children.Add(newControl); } ``` 这两种方法都可以在不将 WPF 用户控件换为字符串的情况下实现复制粘贴功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zxy2847225301

测试使用

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值