javascript - winrt,javascript,来自字节数组的图像

标签 javascript image windows-8

我有一个 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++ 中,但基础知识应该相似。

  1. 从流中获取字节数组
  2. 将字节数组转换为 Base64String ( Convert.ToBase64String )
  3. 现在你可以直接在图片标签中使用这个字符串了:

<img src="data:image/png;base64,YOUR_STRING" />

关于javascript - winrt,javascript,来自字节数组的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14162945/

相关文章:

javascript - 在使用 Html/WinJS 开发的 Metro 应用程序中实现日志记录

javascript - 当鼠标悬停在上面时,如何阻止 mouseOver 文本闪烁

javascript - 浏览器 GET 请求返回旧图像

javascript - HTML5 Canvas : Spawn randomly positioned objects outside of the canvas

swift - 我的 "Messaging App"中的图像消息有问题

javascript - ReadDataURL - 图像未使用 jquery 在 Firefox 中加载

wcf - 无法在 Windows 8 上的 IIS 中提供 WCF 服务

c# - 在 Win8 XAML 中使用 SemanticZoom 对分组 GridView 中的滚动使用react

DIV 的 Javascript Try Catch

javascript - Vue.js - 在方法函数内的 console.log 对象中插入数据值的最佳实践?