2013-04-24 13 views

Odpowiedz

8

WriteableBitmap naraża PixelBuffer właściwość typu IBuffer - interfejs systemu Windows Runtime, które mogą być zamienione na tablicy bajtów z .NET Stream s

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

„IBuffer” nie zawierają definicji „AsStream” i najlepszy przeciążenie metody rozszerzenia 'WindowsRuntimeStreamExtensions.AsStream (IRandomAccessStream)' wymaga odbiornika typu 'IRandomAccessStream' –

+0

@VG Ponieważ jest to metoda rozszerzenia, musisz dodać 'using System.Runtime.InteropServices.WindowsRuntime' – SepehrM

+0

Jest to jedyna odpowiedź (po szeroko zakrojonych poszukiwaniach), która działa w projektach Windows Universal. Klasy .Net i przestrzenie nazw zmieniły się od czasu WPF, aby wygrać 8 stacji metra w Universal Windows ... więc ta odpowiedź jest złota! –

Powiązane problemy