使用通用 Windows 应用程序并尝试绑定 xaml 中字节数组的图像。我有点失落。在 xaml 中我有类似的内容:
<Image Source="{Binding SelectedImageSource}"
Stretch="UniformToFill"
Grid.Row="1"/>
在我的视图模型中我有
private byte[] _selectedImageSource;
public byte[] SelectedImageSource
{
get { return _selectedImageSource; }
set
{
_selectedImageSource = value;
OnPropertyChanged(nameof(SelectedImageSource));
}
}
但我这里看不到图像。我认为我需要做的是将 byte[] 转换为 Windows.UI.Xaml.Media.Imaging.BitmapImage。我不是 100% 确定如何做到这一点,以及这是否是正确的做法。
尝试这个:
public static async Task<BitmapImage> GetBitmapAsync(byte[] data)
{
var bitmapImage = new BitmapImage();
using (var stream = new InMemoryRandomAccessStream())
{
using (var writer = new DataWriter(stream))
{
writer.WriteBytes(data);
await writer.StoreAsync();
await writer.FlushAsync();
writer.DetachStream();
}
stream.Seek(0);
await bitmapImage.SetSourceAsync(stream);
}
return bitmapImage;
}
您也可以尝试更简单的版本此处描述 https://social.msdn.microsoft.com/Forums/en-US/b5cb7ecf-3f04-42ac-815e-c104582ab8ac/uwpconvert-byte-array-to-windowsuixamlmediaimagingbitmapimage?forum=wpdevelop,但我认为我遇到了一些问题,这就是我现在使用上面的代码的原因。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)