在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
算作前言本文对图片如何转化成base64不做描述,我们可以从很多途径了解到转化办法。却很少有博客提到怎么在WPF的Image控件中显示图片。 对于base64的合法性随便拿一张图片转一下试一试: 额。好长....取前面一部分吧 data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAA9CAMAAADlJaswAAAAe1BMVE..... C#对于这段数据,通常的做法是: try { byte[] streamBase = Convert.FromBase64String(base64); } catch(Exception ex) { Console.WriteLine(ex.Message); } 抛出了异常: 输入的不是有效的 Base-64 字符串,因为它包含非 Base-64 字符、两个以上的填充字符,或者填充字符间包含非法字符。 明明是正常转化得来的,为什么却是不合法的字符串?其实这里还需要一点处理,就算把头部信息去掉! //base64 = base64.Replace("data:image/png;base64,", "").Replace("data:image/jgp;base64,", "").Replace("data:image/jpg;base64,", "").Replace("data:image/jpeg;base64,", "");//将base64头部信息替换 string imagebase64 = base64.Substring(base64.IndexOf(",") + 1); 这样就可以成功转化了。现在来看怎么显示在Image里面。 WPF中Image显示答案:https://stackoverflow.com/questions/593388/how-do-i-read-a-base64-image-in-wpf string imagebase64 = base64.Substring(base64.IndexOf(",") + 1); byte[] streamBase = Convert.FromBase64String(imagebase64); BitmapImage bi = new BitmapImage(); bi.BeginInit(); bi.StreamSource = new MemoryStream(streamBase); bi.EndInit(); Image.Source = bi; 没啥太花里胡哨的东西。 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论