
此圖片為Base64字符串,如何做到的呢?以下內容將介紹實現步驟;
1、創建Base64字符串轉換器:
public class Base64ToImage : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var base64String = (String)value;
if (string.IsNullOrEmpty(base64String))
return null;
byte[] bytes = System.Convert.FromBase64String(base64String);
System.IO.MemoryStream ms = new System.IO.MemoryStream(bytes);
ImageSourceConverter imageSourceConverter = new ImageSourceConverter();
ImageSource source = null;
source = (ImageSource)imageSourceConverter.ConvertFrom(ms);
return source;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
2、XML導入引用:
xmlns:System="clr-namespace:System;assembly=mscorlib"
3、創建資源
<Window.Resources>
<System:String x:Key="Base64String">圖片Base64</System:String>
<local:Base64ToImage x:Key="Base64ToImage"/>
</Window.Resources>
4、創建控件
<Image Height="64" Width="64" Source="{Binding Source={StaticResource Base64String},Converter={StaticResource Base64ToImage}}"/>
WPF調用Base64圖片到此結束,以下為圖片與字符串轉換輔助內容;
字符串與 Base64 轉換
1、將圖片數據轉換為Base64字符串
/// <summary>
/// 將圖片數據轉換為Base64字符串
/// </summary>
public static string ToBase64(Image img)
{
BinaryFormatter binFormatter = new BinaryFormatter();
MemoryStream memStream = new MemoryStream();
binFormatter.Serialize(memStream, img);
byte[] bytes = memStream.GetBuffer();
return Convert.ToBase64String(bytes);
}
2、將Base64字符串轉換為圖片
/// <summary>
/// 將Base64字符串轉換為圖片
/// </summary>
public static Image ToImage(string base64)
{
byte[] bytes = Convert.FromBase64String(base64);
MemoryStream memStream = new MemoryStream(bytes);
BinaryFormatter binFormatter = new BinaryFormatter();
return (Image)binFormatter.Deserialize(memStream);
}
