WinRT Convert Stream to BitmapImage
Win8项目中遇到问题:如何将一段stream转化成InMemoryRandomAccessStream, 后可继续转化为bitmapimage, 然后在UI中显示出来,google以及各大论坛搜索了很久,也有很多人问,但是一直没找到可用的示例。终于自己提取了各种高手的答案中的精华组成一段代码,经测试可用:
BitmapImage bitmapImage = newBitmapImage();
InMemoryRandomAccessStream ras = newInMemoryRandomAccessStream();
DataWriter dataWriter = newDataWriter(ras.GetOutputStreamAt(0));
byte[] buffer = newbyte[1024];
for (int size = streamToConvert.Read(buffer, 0, buffer.Length); size > 0; size = streamToConvert.Read(buffer, 0, buffer.Length))
{
byte[] tempBuffer = newbyte[size];
Array.Copy(buffer, tempBuffer, size);
dataWriter.WriteBytes(tempBuffer);
}
await dataWriter.StoreAsync();
bitmapImage.SetSource(ras);
希望大家用得到,也希望大家提出更好的方法。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步