我正在处理Xamarin表单,我想从数据库加载一个以BLOB形式存储的图像。所以我得到字符串并尝试转换为字节数组并使用 MemoryStream 我想显示它。请找到以下代码
这就是我将字符串格式base64转换为字节数组
的方法
byte[] bytes = Encoding.UTF8.GetBytes("imageInBase64Format");
Stream stream = new MemoryStream(bytes);
图像源使用MemoryStream并传递字节数组
var ResourceIcon = new Image
{
Aspect = Aspect.AspectFit,
Source = ImageSource.FromStream(()=> new MemoryStream(bytes)),
WidthRequest = 30,
HeightRequest = 20,
VerticalOptions = LayoutOptions.Center,
HorizontalOptions = LayoutOptions.Start,
};
我还尝试将流直接传递给ImageSource
var ResourceIcon = new Image
{
Aspect = Aspect.AspectFit,
Source = ImageSource.FromStream(()=> stream),
WidthRequest = 30,
HeightRequest = 20,
VerticalOptions = LayoutOptions.Center,
HorizontalOptions = LayoutOptions.Start,
};
在这两种情况下,我都无法在UI上显示图像。 提前谢谢。