我有一个 C++/CX 组件,它可以将图像作为流返回(我可以很容易地让它返回一个 IBuffer,如果这样更容易的话)。目前,组件的返回类型是 IRandomAccessStream,实际流是 InMemoryRandomAccessStream。
我想将此流用作 HTML/JavaScript Windows 8 应用程序中的图像源。问题是我不知道如何将这个流或我可以从中创建的数组推送到图像中。我已经尝试了一些东西,但是例如 URL.createObjectURL deosn 不只需要一个 IRandomAccessStream,它需要一个 IRandomAccessStreamWithContentType。我还尝试使用 Canvas 和图像数据 (http://www.w3schools.com/tags/canvas_createimagedata.asp)。
我的下一步可能是尝试将我的流包装在 IRandomAccessStreamWithContentType 中,看看我是否可以做到这一点。在 JavaScript 中或在我的 C++/CX 控件中。
如有任何建议,我们将不胜感激。
谢谢, 托马斯
最佳答案
我以前在 C# 中做过此操作,而不是在 C++ 中,但基础知识应该相似。
- 从流中获取字节数组
- 将字节数组转换为 Base64String ( Convert.ToBase64String )
- 现在你可以直接在图片标签中使用这个字符串了:
<img src="data:image/png;base64,YOUR_STRING" />
关于javascript - winrt,javascript,来自字节数组的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14162945/