2013-04-24 26 views
6

WindowsストアメトロスタイルのアプリケーションでC#コードを使用して、WriteableBitmapイメージをByte[]アレイに変換したいと考えています。 「AsStream」と最良の定義が含まれていませんStreamWinRt AppのWriteableBitmapイメージをバイト配列に変換する方法

byte[] ConvertBitmapToByteArray(WriteableBitmap bitmap) 
    { 
     using (Stream stream = bitmap.PixelBuffer.AsStream()) 
     using (MemoryStream memoryStream = new MemoryStream()) 
     { 
      stream.CopyTo(memoryStream); 
      return memoryStream.ToArray(); 
     } 
    } 

答えて

8

WriteableBitmap

はタイプ IBufferPixelBufferプロパティを公開します拡張メソッドのオーバーロード 'WindowsRuntimeStreamExtensions.AsStream(IRandomAccessStream)'には 'IRandomAccessStream'タイプの受信者が必要です
+0

「IBuffer」.NETでバイト配列に変換できるWindowsランタイムインターフェイス - –

+0

@VGこれは拡張メソッドなので、 'using System.Runtime.InteropServices.WindowsRuntime'を追加する必要があります – SepehrM

+0

これは、Windows Universalプロジェクトで機能する唯一の回答です(広範な検索後)。 .NETクラスと名前空間がWPFからユニバーサルWindowsへのメトロストアに勝つためにシフトしました...この答えは金です​​! –

関連する問題