2013-04-24 30 views

回答

8

WriteableBitmap暴露IBuffer類型的PixelBuffer屬性 - 一個Windows運行時接口,其可以被轉換爲一個字節數組與.NET Stream小號

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

「IBuffer」不包含關於「AsStream」和最好的一個定義擴展方法重載'WindowsRuntimeStreamExtensions.AsStream(IRandomAccessStream)'需要一個'IRandomAccessStream'類型的接收器 – 2015-07-29 14:34:24

+0

@VG由於它是一種擴展方法,因此您需要添加'使用System.Runtime.InteropServices.WindowsRuntime' – SepehrM 2015-08-13 11:49:02

+0

這是在Windows Universal項目中工作的唯一答案(在廣泛搜索之後)。 .Net類和命名空間自WPF以來已經轉移到Win 8 metro商店,以通用Windows ...所以這個答案是黃金! – 2016-02-10 18:31:57

相關問題