如何将流转换为 BitmapImage?
How to convert a stream to BitmapImage?
我正在尝试使用以下代码将 MemoryStream 转换为图像。
Stream stream = new MemoryStream(bytes);
BitmapImage bitmapImage = new BitmapImage();
await bitmapImage.SetSourceAsync(stream.AsRandomAccessStream());
但是在SetSourceAsync
方法中抛出异常,异常是
System.Exception was unhandled by user code
HResult=-2003292336
Message=The component cannot be found. (Exception from HRESULT:
0x88982F50)
Source=mscorlib
StackTrace:
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotificat
ion(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at ImageEditor_UWP.MainPage.d__1.MoveNext() InnerException:
如何将流转换为图像?
试试这个
var img = Bitmap.FromStream(stream);
到图片:
public async static System.Threading.Tasks.Task<BitmapImage> ImageFromBytes(byte[] bytes)
{
var image = new BitmapImage();
try
{
var stream = new Windows.Storage.Streams.InMemoryRandomAccessStream();
await stream.WriteAsync(bytes.AsBuffer());
stream.Seek(0);
await image.SetSourceAsync(stream);
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message);
}
return image;
}
我正在尝试使用以下代码将 MemoryStream 转换为图像。
Stream stream = new MemoryStream(bytes);
BitmapImage bitmapImage = new BitmapImage();
await bitmapImage.SetSourceAsync(stream.AsRandomAccessStream());
但是在SetSourceAsync
方法中抛出异常,异常是
System.Exception was unhandled by user code HResult=-2003292336 Message=The component cannot be found. (Exception from HRESULT: 0x88982F50) Source=mscorlib StackTrace: at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotificat ion(Task task) at System.Runtime.CompilerServices.TaskAwaiter.GetResult() at ImageEditor_UWP.MainPage.d__1.MoveNext() InnerException:
如何将流转换为图像?
试试这个
var img = Bitmap.FromStream(stream);
到图片:
public async static System.Threading.Tasks.Task<BitmapImage> ImageFromBytes(byte[] bytes)
{
var image = new BitmapImage();
try
{
var stream = new Windows.Storage.Streams.InMemoryRandomAccessStream();
await stream.WriteAsync(bytes.AsBuffer());
stream.Seek(0);
await image.SetSourceAsync(stream);
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message);
}
return image;
}