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);

希望大家用得到,也希望大家提出更好的方法。

相关文章:

  • 2021-10-20
  • 2022-02-14
  • 2021-06-09
  • 2022-03-11
  • 2021-05-31
  • 2021-08-17
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-16
  • 2022-02-21
  • 2021-07-14
相关资源
相似解决方案