6
Chcę przekonwertować obraz WriteableBitmap
na tablicę Byte[]
przy użyciu kodu C# w aplikacjach typu Metro w sklepie Windows.Jak konwertować obraz WriteitBitmap do tablicy Byte w aplikacji WinRt
Chcę przekonwertować obraz WriteableBitmap
na tablicę Byte[]
przy użyciu kodu C# w aplikacjach typu Metro w sklepie Windows.Jak konwertować obraz WriteitBitmap do tablicy Byte w aplikacji WinRt
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();
}
}
„IBuffer” nie zawierają definicji „AsStream” i najlepszy przeciążenie metody rozszerzenia 'WindowsRuntimeStreamExtensions.AsStream (IRandomAccessStream)' wymaga odbiornika typu 'IRandomAccessStream' –
@VG Ponieważ jest to metoda rozszerzenia, musisz dodać 'using System.Runtime.InteropServices.WindowsRuntime' – SepehrM
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! –