【问题标题】:winrt, javascript, image from byte arraywinrt,javascript,来自字节数组的图像
【发布时间】:2013-01-05 15:33:23
【问题描述】:

我有一个 C++/CX 组件,它可以将图像作为流返回(我可以很容易地让它返回一个 IBuffer,如果这样可以让事情变得更容易的话)。目前,组件的返回类型为 IRandomAccessStream,实际流为 InMemoryRandomAccessStream。

我想将此流用作 HTML/JavaScript Windows 8 应用程序中的图像源。问题是我不知道如何将这个流或我可以从中创建的数组推送到图像中。我已经尝试了一些东西,但是例如 URL.createObjectURL 不只需要一个 IRandomAccessStream,它需要一个 IRandomAccessStreamWithContentType。我还尝试使用画布和图像数据 (http://www.w3schools.com/tags/canvas_createimagedata.asp)。

我的下一步可能是尝试将我的流包装在 IRandomAccessStreamWithContentType 中,看看我是否可以做到这一点。在 JavaScript 或我的 C++/CX 控件中。

任何有关如何解决此问题的建议将不胜感激。

谢谢, 托马斯

【问题讨论】:

    标签: javascript image windows-8


    【解决方案1】:

    我之前在 C# 中做过这个,而不是在 C++ 中,但基础应该是相似的。

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

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

    【讨论】:

    • 谢谢,虽然我已经设法通过创建一个 RandomAccessStreamReference 然后从中读取来解决它(因为它返回正确的东西以在 URL.createObjectURL 中使用。
    • @Tomas 我也有同样的问题。它接缝你已经解决了。你愿意和我们分享吗?
    猜你喜欢
    • 1970-01-01
    • 2017-05-04
    • 1970-01-01
    • 1970-01-01
    • 2018-05-15
    • 2014-05-25
    • 2017-06-10
    • 1970-01-01
    • 2013-03-25
    相关资源
    最近更新 更多