我正在尝试实现一个Windows通用应用程序。我面临一个问题,即将图像原始数据(字节数组)转换为BitmapImage控件。我不知道图像原始数据的类型。我使用了以下代码,
private async Task<BitmapImage> ByteArrayToBitmapImage(byte[] byteArray)
{
var bitmapImage = new BitmapImage();
var stream = new InMemoryRandomAccessStream();
await stream.WriteAsync(byteArray.AsBuffer());
stream.Seek(0);
bitmapImage.SetSource(stream);
return bitmapImage;
}
图像未显示在窗口中。当我调试时,发现身高&amp; bitmapImage对象的宽度为0。
如果有人知道解决方案,请帮助我
答案 0 :(得分:1)
最后我的问题解决了,当我使用下面的代码时,
var bmp = new WriteableBitmap(320, 240);
using (var stream = bmp.PixelBuffer.AsStream())
{
stream.Write(bytes, 0, bytes.Length);
myImage.Source = bmp;
}
答案 1 :(得分:0)
我使用相同的代码并且适用于我,但是我创建了BitmapImage并在调度程序的线程中设置了它的来源 - 也许这是你问题的关键。