17

Windows Phone 8.1 用のアプリケーションを作成しています。

UIElement を画像ファイルとして保存する必要があります (JPG または PNG が望ましいです)。これを行うために RenderTargetBitmap クラスを使用しています。UIElement で RenderAsync メソッドを呼び出した後、RenderTargetBitmap の GetPixelsAsync() メソッドの結果を含む IBuffer を作成します。

ここで、メソッド ToArray() を呼び出して IBuffer をバイト配列に変換し、BitmapEncoder などを使用して画像を保存する必要がありますが、Windows Phone 8.1 では IBuffer 用の ToArray() メソッドがないようですが、Windows では8.1 が存在します。

この問題を解決するにはどうすればよいですか?

4

2 に答える 2

23

これは Windows Phone 8.1 で利用できますが、WP 8.0 では利用できません。( MSDN リンクを参照)

ただし、コンパイラによって検出されるように、適切な名前空間が含まれていることを確認する必要があります。

using System.Runtime.InteropServices.WindowsRuntime

于 2014-04-05T13:57:25.913 に答える
3

新しい質問を作成したくないので、これを拡張することにしました。WP8 と Windows ストア アプリの両方のプラットフォームの完全な回答になります。

この名前空間を使用できない Windows ストア アプリで IBuffer を byte[] に変換する方法を知っているかもしれません: System.Runtime.InteropServices.WindowsRuntime

よろしく、 マルシン

提案ソリューション: この投稿のコードを使用します: https://stackoverflow.com/a/21490534/3139083

ありがとう

于 2014-08-29T08:29:55.150 に答える