2

画像をストリームとして返すことができる 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 コントロールで。

これについてどうすればよいかについての提案をいただければ幸いです。

ありがとう、トーマス

4

1 に答える 1

0

C++ ではなく C# でこれを行ったことがありますが、基本は似ているはずです。

  1. ストリームからバイト配列を取得する
  2. バイト配列を Base64String に変換します ( Convert.ToBase64String )
  3. これで、この文字列をイメージ タグで直接使用できます。

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

于 2013-01-05T07:33:23.760 に答える