在 windows 通用应用程序中将图像原始数据转换为位图图像
converting Image raw data to bitmapimage in windows universal app
我正在尝试实现一个 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;
}
图像未显示在 window 中。我调试的时候发现bitmapImage对象的高宽都是0.
如果有人知道解决方法,请帮助我
我正在使用相同的代码并为我工作,但我创建了 BitmapImage 并将其源设置在调度程序的线程上 - 也许这是您问题的关键。
最后我的问题解决了,当我使用下面的代码时,
var bmp = new WriteableBitmap(320, 240);
using (var stream = bmp.PixelBuffer.AsStream())
{
stream.Write(bytes, 0, bytes.Length);
myImage.Source = bmp;
}
我正在尝试实现一个 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;
}
图像未显示在 window 中。我调试的时候发现bitmapImage对象的高宽都是0.
如果有人知道解决方法,请帮助我
我正在使用相同的代码并为我工作,但我创建了 BitmapImage 并将其源设置在调度程序的线程上 - 也许这是您问题的关键。
最后我的问题解决了,当我使用下面的代码时,
var bmp = new WriteableBitmap(320, 240);
using (var stream = bmp.PixelBuffer.AsStream())
{
stream.Write(bytes, 0, bytes.Length);
myImage.Source = bmp;
}